Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Flags: 7825
- 150D0000
- FF000000
- 1F1F0400
- 7825
- 37.96
- 0000
- 4BA
- 568: Input Flag = 25; 569: Output Flag = 78
- 0x574
- 0x57C
- 0x01 - 7F (global flags)
- 80 - BF (global flags2)
- C0 - DF (zone flags)
- E0 - FE (one zone flags)
- FLI1 Format:
- Header Size: 16 Bytes
- FLI1 Tag (4 Byte)
- Tag+4: FLI1 Size aka offset to next (usually end of file) Table (4 Byte)
- Tag+8: Num Elements in Index Table (2 Byte)
- Tag+10: Usually 0x0800 (2 Byte)
- Tag+12: Padding (4 Byte)
- Each Index in Table is 8 bytes
- Index+0 = Msg Flow ID (2 bytes) (as provided by the SCOB entry under Unknown Param2/3)
- Index+4 = Start Node ID (2 bytes)
- FLW1 Format:
- Header Size: 16 Bytes
- FLW1 Tag (4 Byte)
- Tag+4: FLW1 Size aka offset to next (usually FLI1) Table (4 Byte)
- Tag+8: Num Elements/Nodes in Table (2 Byte)
- Tag+10: Usually 0x0910 (2 Byte)
- Tag+12: Padding (4 Byte)
- Each Node Entry is 8 bytes long
- Tag+16 = Start of FLW1 Node Table
- Start of FLW1 Node Table + (Node ID * 8) = Node Entry
- Node Entry+0 = Node Type (1 = Message Node, 2 = Branch Node, 3 = Event Node)
- Node Entry+1 = Control Byte (used by Branch/Event Node) (Event Node = mEventList Index)
- Node Entry+2 = Dynamic Offset1 (2 byte) (Message Node = points to a Message ID entry in the INF table) (Branch Node = mQueryList Index) (Event Node = Offset to associated Node ID in the bottom jump table)
- Node Entry+4 = Dynamic Offset2 (2 byte) (Message/Branch Node = Linked/Next Node ID or FFFF if final) (Event Node = Associated/Next Msg Flow ID)
- Node Entry+6 = Additional Offset (2 Byte) (only used by Branch Node it seems, is added to mQueryList result for bottom jump table lookup)
- Start of FLW1 Node Table + (Num Nodes * 8) = Start of Node ID Jump Table (no header)
- Each entry in the jump table is 2 bytes long and just contains the Node ID to jump to
- No defined end, often contains a lot of garbage/deleted data at the very end
- Start of Node ID Jump Table + (Associated Node ID Offset * 2) = Node ID entry in the jump table
- 4(r28) //ptr to flw1 tag
- 8(r28) //ptr to fli1 tag
- 0xC(r28) //ptr to begin of flw1 index table
- 0x10(r28) //currently used node index table ID (2 byte)
- 0x14(r28) //ptr to begin of flw1 data table (num elements * 8)
- 0x18(r28) //ptr to end maybe? (ptr to flw1 data + (num elements * 2))
- 0x1C(28) //flow message id or global ID
- 0x20(28) //special msg id???
- 0x25(r28) //current node index (1 byte) (set to 1 now)
- 0x46(r28) //controls whether select or single msg is invoked
- control codes for second byte of index node:
- 0x09
- 0x13
- 0x20
- 0x21
- 0x15
- FLI1 Format (Flow Index):
- Header Size: 16 Bytes
- FLI1 Tag (4 Byte)
- Section Size (4 Byte)
- Num Elements in Table (2 Byte)
- Unknown (Usually 0x0800) (2 Byte)
- Padding (4 Byte)
- Each Entry in Table is 8 bytes:
- Msg Flow ID (2 bytes) (as provided by the SCOB entry under Unknown Param2/3)
- Start Node ID (2 bytes)
- FLW1 Format:
- Header Size: 16 Bytes
- FLW1 Tag (4 Byte)
- Section Size (4 Byte)
- Num Nodes in Table (2 Byte)
- Unknown (Usually 0x0910) (2 Byte)
- Padding (4 Byte)
- Each Node Entry is 8 bytes long
- Node Type (1 byte) (1 = Message Node, 2 = Branch Node, 3 = Event Node)
- Control Byte (1 byte) (used by Branch/Event Node) (Event Node refers to global mEventList)
- Dynamic Offset1 (2 byte) (Message Node = points to a Message ID entry in the INF table) (Branch Node refers to global mQueryList) (Event Node = Offset to associated Node ID in the bottom "jump" table)
- Dynamic Offset2 (2 byte) (Message/Branch Node = Linked/Next Node ID or FFFF if final) (Event Node = Associated/Next Msg Flow ID)
- Additional Offset (2 Byte) (only used by Branch Node it seems, is added to mQueryList result for bottom jump table lookup)
- Game looks up entries here by doing: (Node ID * 8) + section start ptr = Node Entry
- Game accesses the jump table at the bottom by doing: (NumNodes * 8) + section start ptr = Beginning of the jump table (no header)
- Each entry in the jump table is 2 bytes long and just contains the Node ID to jump to
- No defined end, often contains a lot of garbage/deleted data at the very end
- Entries in the jump table are accessed by doing: (Associated Node ID Offset * 2) + jump table start ptr = Node ID entry in the jump table
- Mhint:
- FFFFFFFF (FF = Type, FFFFFF = identifier) (FF Type is instant activation when in trigger, 7F triggers with Z button)
- Unknown1: 7741 (77 = Flag to set when dialog is done, 41 = Flag that activates/deactivates the trigger)
- RotationY: Event ID, Generic Event ID
- Unknown2: Dialog Flow ID
- Wljump: Wolf Jump
- Parameters: 000F2145 (000F = identifier, 21 = activation flag, 45 = RPAT ID (from 0 to end of RPAT list)
- RPAT Group Entry:
- numPoints: num of RPPN path nodes in this group
- Unk1: FFFF
- Unk2: FF
- Unk3: 00
- firstEntryOffset: Offset to first RPPN path node. All the others have to follow behind! 0x0 refers to the first RPPN node in the table
- Midna Jumps (RPPN path nodes):
- 3201FF00 Z trigger /init or 4BFFFF00 or 14FFFF05
- folgt 1401FF00 nodes and 1400FF00 and 0A01FF00
- 0001FF00 finished (or 00FFFF00) (or 00FFFF01)
Add Comment
Please, Sign In to add comment