Difference between revisions of "MAPINFO"
Jump to navigation
Jump to search
(→SCEX) |
|||
Line 65: | Line 65: | ||
</sub> | </sub> | ||
===Nodes=== | |||
{| class="wikitable" | |||
|- | |||
! Signature !! Description | |||
|- | |||
| [[ATTR]] || empty | |||
|- | |||
| [[SNDP]] || Sound program | |||
|- | |||
| [[LGHT]] || Scene light | |||
|- | |||
| [[ECAM]] || Event camera | |||
|- | |||
| [[COLS]] || Collisions (SM1) | |||
|- | |||
| [[FLDD]] || Collision field (SM2) | |||
|- | |||
| [[PROP]] || Props | |||
|- | |||
| [[DOOR]] || Doors | |||
|- | |||
| [[SCEX]] || Cutscenes | |||
|- | |||
| [[SCN3]] || Scene script v3 | |||
|- | |||
| [[SCN4]] || Scene script v4 | |||
|- | |||
| [[REGD]] || empty | |||
|- | |||
| [[WTHR]] || Weather | |||
|- | |||
| [[EVFD]] || empty | |||
|- | |||
| [[LSCN]] || empty | |||
|- | |||
| [[MAPR]] || unknown | |||
|- | |||
| [[MAPT]] || unknown | |||
|- | |||
| [[SCRL]] || unknown | |||
|- | |||
| [[CHRD]] || Character data (External models) | |||
|- | |||
| [[END]] || EOF | |||
|} | |||
===ATTR (Attribute)=== | ===ATTR (Attribute)=== |
Revision as of 19:01, 12 May 2019
Memory Models
Could be the MAPINFO memory model:
Position | Length | Type | Description |
---|---|---|---|
0x00 | 0x04 | string | Identifier (SCNC) |
0x04 | 0x0? | ? | Variable size (contains pointers) |
0x0? | 0x04 | string | Identifier (USE ) //space at the end |
0x0? | 0x0? | ? | Variable size (contains pointers) |
Found at qword_7FF717119290 (v1.03) in the code segment (CS). It is accessed when reading the TRCK segment.
struct s1 { signed char[8] pad8; signed char f8; //bool set to 1 at end signed char[7] pad16; struct s0* f16; struct s2* f24; //ASEQ struct s2* f32; //ACAM struct s2* f40; //AMOV struct s2* f48; //ASTR struct s2* f56; //ALIP uint64_t f64; uint64_t f72; signed char[8] pad88; int32_t f88; int32_t f92; int32_t f96; int32_t f100; signed char[12] pad116; struct s2* f116; signed char[4] pad128; struct s2* f128; signed char[42376] pad42512; int32_t f42512; int16_t f42516; };
struct s0 { signed char[4] pad4; int32_t f4; int32_t f8; };
struct s2 { int32_t f0; int32_t f4; signed char[1] pad9; signed char f9; signed char[2] pad12; int32_t f12; };
Nodes
Signature | Description |
---|---|
ATTR | empty |
SNDP | Sound program |
LGHT | Scene light |
ECAM | Event camera |
COLS | Collisions (SM1) |
FLDD | Collision field (SM2) |
PROP | Props |
DOOR | Doors |
SCEX | Cutscenes |
SCN3 | Scene script v3 |
SCN4 | Scene script v4 |
REGD | empty |
WTHR | Weather |
EVFD | empty |
LSCN | empty |
MAPR | unknown |
MAPT | unknown |
SCRL | unknown |
CHRD | Character data (External models) |
END | EOF |
ATTR (Attribute)
Ignored.
SNDP (Sound Program)
LGHT (Light)
Parent Node:
Position | Length | Type | Description |
---|---|---|---|
0x00 | 0x04 | string | Identifier (LGHT) |
0x04 | 0x04 | uint | Size in bytes |
0x08 | 0x04 | string | Unknown (Sub node name) |
0x0C | 0x04 | uint | Size relativ to 0x08 |
Child Node:
Position | Length | Type | Description |
---|---|---|---|
0x00 | 0x04 | string | Identifier (LGHT) |
0x04 | 0x04 | uint | Size in bytes |
0x08 | 0x04 | float | Unknown |
0x0C | 0x02 | ushort | Entry count |
0x0E | 0x02 | short | Flag for something (cmp 3) |
0x10 | 0x04 | ? | Unknown |
0x14 | 0x04 | ? | Unknown |
Child Node Entry (32 bytes):
Position | Length | Type | Description |
---|---|---|---|
0x00 | 0x02 | short | Unused? |
0x02 | 0x01 | byte | Unknown (same value as 0x00 but used) |
0x04 | 0x01 | byte | Unknown |
0x06 | 0x01 | byte | Unused? |
0x08 | 0x14 | half floats | Unknown |
0x1E | 0x02 | short | Unknown |
ECAM
Event Cam. Used when interacting with object (switching camera). Has something to do with HPMa/HPMb.
COLS (Collisions)
Position | Length | Type | Description |
---|---|---|---|
0x00 | 0x04 | string | Identifier (COLS) |
0x04 | 0x04 | uint | Size in bytes |
Followed by 4 byte string identifier. Example: 0000
COLI
Position | Length | Type | Description |
---|---|---|---|
0x00 | 0x04 | string | Identifier (COLI) |
0x04 | 0x04 | uint | Size in bytes |
HGHT
EVNT
UNDU
SOND
PROP
WALK
FLDD (Collision Field)
Used often when moving around.
PROP
Header:
Position | Length | Type | Description |
---|---|---|---|
0x00 | 0x04 | string | Identifier (PROP) |
0x04 | 0x04 | uint | Content offset |
0x08 | 0x04 | uint | Footer offset |
Footer:
Position | Length | Type | Description |
---|---|---|---|
0x00 | 0x04 | uint | Positions offset |
0x04 | 0x0? | ? | Unknown offsets |
DOOR
SCEX
SCN3
SCN4
REGD
Empty.
WTHR (Weather)
Used by WEXE ((HLTaskFunc)ExecuteWeather)
Position | Length | Type | Description |
---|---|---|---|
0x00 | 0x04 | string | Identifier (WTHR) |
0x04 | 0x04 | uint | Size in bytes |
0x08 | 0x04 | uint | Unknown |
0x0C | 0x04 | uint | Entry count? |
0x10 | 0x04 | uint | Entry count? |
0x14 | 0x04 | uint | Reserved or Empty |
EVFD
Empty.
LSCN
Empty.
MAPR
MAPT
SCRL
Position | Length | Type | Description |
---|---|---|---|
0x00 | 0x04 | string | Identifier (SCRL) |
0x04 | 0x04 | uint | Size in bytes |
0x08 | 0x04 | uint | Either fully F or 0 |
Only present 2 times in sm2, but in sm1 it's common.
CHRD (Character Data)
The CHRD segment contains models character properties that will be loaded for the mapinfo.