View source: MAPINFO (revision 97)

From Wulinshu
Jump to navigation Jump to search

2018-10-31T20:14:11Z · PhilYeahz · Download source

[[Category:Shenmue II]]
[[Category:Shenmue]]
[[Category:Files]]

===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>


===ATTR===
Ignored.

===SNDP===

====SNDD====

====SNDA====

====SNDR====

====SNDM====

=====SMAP=====
{| class="wikitable"
|-
! Position !! Length !! Type !! Description 
|-
| 0x00 || 0x04 || string || Identifier (SMAP)
|-
| 0x04 || 0x04 || string || Map name 1
|-
| 0x08 || 0x04 || string || Map name 2
|-
| 0x0C || 0x04 || uint || Size in bytes
|}

=====SBTS=====
{| class="wikitable"
|-
! Position !! Length !! Type !! Description 
|-
| 0x00 || 0x04 || string || Identifier (SBTS)
|-
| 0x04 || 0x04 || string || Map name 1
|-
| 0x08 || 0x04 || string || Map name 2
|-
| 0x0C || 0x04 || uint || Size in bytes
|}

===LGHT===
(HLTaskFunc)LT_LightTask

Parent Node:
{| class="wikitable"
|-
! 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:
{| class="wikitable"
|-
! 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):
{| class="wikitable"
|-
! 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===
Used when interacting with object (switching camera).
Has something to do with HPMa/HPMb.

===FLDD===
Used often when moving around.

====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===
{| class="wikitable"
|-
! Position !! Length !! Type !! Description 
|-
| 0x00 || 0x04 || string || Identifier (SCEX)
|-
| 0x04 || 0x04 || uint || Size in bytes
|-
| 0x08 || 0x04 || string || Scene name?
|-
| 0x0C || 0x04 || uint || Size in bytes (relative to 0x08)
|}

====TRCK====
A track contains information for an cutscene.<br>
The track segment has no data itself, it just contains all the child segments which do contain the data.
{| class="wikitable"
|-
! Position !! Length !! Type !! Description 
|-
| 0x00 || 0x04 || string || Identifier (TRCK)
|-
| 0x04 || 0x04 || uint || Size in bytes
|}

=====ASEQ=====
{| class="wikitable"
|-
! Position !! Length !! Type !! Description 
|-
| 0x00 || 0x04 || string || Identifier (ASEQ)
|-
| 0x04 || 0x04 || uint || Size in bytes
|-
| 0x08 || 0x04 || ? || Some flags? (0x09 is 7 mostly)
|-
| 0x0C || 0x04 || uint? || Unknown
|-
| 0x10 || 0x10 || string || Some .qst file?
|-
| 0x20 || 0x4 || uint? || Unknown
|-
| 0x24 || 0x? || TOC || 
|}

Table of content entry (12 bytes)
{| class="wikitable"
|-
! Position !! Length !! Type !! Description 
|-
| 0x00 || 0x01 || byte || Flag?
|-
| 0x01 || 0x01 || byte || Flag?
|-
| 0x02 || 0x02 || ? || Reserved?
|-
| 0x04 || 0x04 || string || Character name and other stuff (props?)
|-
| 0x08 || 0x04 || uint || Index
|}

=====ACAM=====
Probably camera animation.

=====AMOV=====

=====ASTR=====

====AUVW====

=====LGHC=====

=====RFBD=====

=====EYES=====

=====HAID=====

=====HADT=====

=====HAND=====

=====FACX=====

=====FADE=====

=====MBTK=====

=====FOBJ=====

=====FCLP=====

=====DOOR=====

=====LGHS=====

===SCN3===

===SCN4===

===REGD===
Empty.

===WTHR===

===EVFD===
Empty.

===LSCN===
Empty.

===MAPR===

===MAPT===

===CHRD===

====CHRS====

=====CMDM=====

====STRG====
{| class="wikitable"
|-
! Position !! Length !! Type !! Description 
|-
| 0x00 || 0x04 || string || Identifier (STRG)
|-
| 0x04 || 0x04 || uint || Size in bytes
|-
| 0x08 || 0x0? || strings || Strings with zero termination
|}

===END===