Beta WIP

Discuss anything programming related.
Post Reply
User avatar
Click16
Posts: 1941
Joined: Mon Dec 31, 2007 4:36 am
Location: United States

Beta WIP

Post by Click16 »

Okay on request of xxpenguinxx, I will make a WIP thread.

The app name can be changed, but for now i will call it "Beta" (For obvious reasons...)

If you don't know, the program is a meta editor for the Halo 2 Beta. If you don't know what the halo 2 beta is, just try searching on youtube...

Anyways the program right now can read and write all tag header and nested values.

What the program cant do yet is write or read values when they are in a reflexive that is in one or more revlexives at a certain chunk number.

A good example of this is in the bitmap tag, there is a reflexive named "Sequences" and inside Sequences there is another reflexive named "Sprites." While you will be able to select any Sequences chunk you want, the sprite's values would be read as if it would be setup so that you are reading the sprites reflexive from Sequences chunk 0.

Okay now on to values:
The current values that the program can read and write is as follows:
  • Values:
    UInt8 (byte)
    Int16 (short)
    Int32 (int)
    Int64(long)
    Float(Single)
    Int8(sbyte)
    UInt16(ushort)
    UInt32(uint)
    UInt64(ulong)

    Enums:
    Enum8
    Enum16
    Enum32
    Enum64 (Don't actually know if there are enum64's in halo, but its here anyway 8-))

    Strings:
    StringID's
    String32's
    String128's
    String256's

    Bitmasks: (Now Read and Write)
    Bitmask8
    Bitmask16
    Bitmask32

    Idents
So... Here is a picture of the program reading the start of my weap plugin (I know some values are false, don't yell at me)
Image
Last edited by Click16 on Wed Aug 03, 2011 10:52 pm, edited 2 times in total.
Image
User avatar
troymac1ure
Keeper of Entity
Posts: 1282
Joined: Sat Aug 09, 2008 4:16 am
Location: British Columbia, Canada, eh
Contact:

Re: Beta WIP

Post by troymac1ure »

For the whole multi-level reflexives issue, I found it quite useful to make use of the "tag" values in the TreeNodes. I created my own class/struct that I would set the TreeNode.Tag value to when I created Nodes with sub-nodes. The custom class would hold (I think) Max Reflexive Count, Current Reflexive count, reflexive base offset (update whenever the Current Reflexive Count changed) and I think a pointer to the meta information. Anyways, just the idea I had that seemed to work well to solve this issue.
User avatar
Click16
Posts: 1941
Joined: Mon Dec 31, 2007 4:36 am
Location: United States

Re: Beta WIP

Post by Click16 »

Okay; Fix List:
Chunks now work
bitmasks (all types) will now save.
Image
User avatar
Click16
Posts: 1941
Joined: Mon Dec 31, 2007 4:36 am
Location: United States

Re: Beta WIP

Post by Click16 »

4 Plugins with complete values, however there are several unknowns...
Image
User avatar
Click16
Posts: 1941
Joined: Mon Dec 31, 2007 4:36 am
Location: United States

Re: Beta WIP

Post by Click16 »

Program updated with correct bitmasks, string ID (and String128) and now another tag class plugin is complete.

List of completed plugins:
Bitm
Hud#
Mpdt
Itmc
Vehc

Started plugins:
Bipd
Nhdt
Weap
Image
Post Reply