View source: MAPINFO (revision 550)

From Wulinshu
Jump to navigation Jump to search

2019-05-12T18:05:18Z · PhilYeahz · Download source

[[Category:Shenmue II]]
[[Category:Shenmue]]
[[Category:Files]]
[[Category:Map]]
===Memory Models===

Could be the MAPINFO memory model:
{| class="wikitable"
|-
! 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.
<sub>
    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;
    };

</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
|}

====PROP====
Header:
{| class="wikitable"
|-
! Position !! Length !! Type !! Description 
|-
| 0x00 || 0x04 || string || Identifier (PROP)
|-
| 0x04 || 0x04 || uint || Content offset
|-
| 0x08 || 0x04 || uint || Footer offset
|}

Footer:
{| class="wikitable"
|-
! Position !! Length !! Type !! Description 
|-
| 0x00 || 0x04 || uint || Positions offset
|-
| 0x04 || 0x0? || ? || Unknown offsets
|}

===DOOR===

===[[SCEX]]===

===SCN3===

===SCN4===

===REGD===
Empty.

===WTHR (Weather)===
Used by [[(HLTaskFunc)ExecuteWeather|WEXE]] ([[(HLTaskFunc)ExecuteWeather]])
{| class="wikitable"
|-
! 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===
{| class="wikitable"
|-
! 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.

===END===