Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.

Vagrant Story/ARM files: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
No edit summary
 
m (Xkeeper moved page Vagrant Story:ARM files to Vagrant Story/ARM files: normalize subpages and titles)
 
(9 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{subpage|game=Vagrant Story}}
\SMALL\*.ARM are area map files, used by the MAP menu.
Minimap Section
  $0 4 num_rooms
  $0 4 num_rooms
  $4 FOR {num_rooms} main_data: // $c bytes per room
  $4 FOR {num_rooms} main_data: // $c bytes per room
  $0 4 ?
  $0 4 ? (RAM only)
  $4 ? lenght of map graphics section
  $4 4 lenght of map graphics section (RAM: pointer to section)
?
  $8 2 zone number
  $8 2 zone number
  $a 2 map number
  $a 2 map number
  + FOR {num_rooms} map_graphics:
?
Room Graphics Section
  + FOR {num_rooms} room_name:
  +       FOR {num_rooms} map_graphics:
  ?
        $0      4      num_vertices
        +      FOR {num_vertices} vertex3f (8 bytes each):
                $0      2      vertex x
                $2      2      vertex y
                $4      2      vertex z
                $6      2      zero padding
        +      poly3gt
                $0      4      num_poly3gts
                +      FOR {num_poly3gts} (4 bytes each):
                        $0      1      p1
                        $1      1      p2
                        $2      1      p3
                        $3      1      zero padding
        +      poly4gt
                $0      4      num_poly4gts
                +      FOR {num_poly4gts} (4 bytes each):
                        $0      1      p1
                        $1      1      p2
                        $2      1      p3
                        $3      1      p4
        +      floor_lines
                $0      4      num_floor_lines
                +      FOR {num_floor_lines} (4 bytes each):
                        $0      1      p1
                        $1      1      p2
                        $2      2      zero padding
        +      wall_lines
                $0      4      num_wall_lines
                +      FOR {num_wall_lines} (4 bytes each):
                        $0      1      p1
                        $1      1      p2
                        $2      2      zero padding
        +      doors
                $0      4      num_doors+1
                +      FOR {num_doors+1} (4 bytes each):
                        $0      1      vertex ID
                        $1      1      exit to zone
                        $2      1      central info (can be or'd together)
                                        $00 = white point
                                        $01 = no point graphics
                                        $02 = yellow save
                                        $04 = labelled exit
                                        $08 = container + save + workshop
                                        $10 = container
                        $3      1      lock ID (can be any of the following)
                                        Locked
                                        Latch
                                        One-Way
                                        Rood Inverse
                                        Named Key
                                        Named Sigil
Room Names Section
  + FOR {num_rooms} room_name:
  $0 $20str room name
$20 $2 prev (Shoulder button cycle)
$22 $2 next (Shoulder button cycle)

Latest revision as of 02:42, 24 January 2024

This is a sub-page of Vagrant Story.

\SMALL\*.ARM are area map files, used by the MAP menu.

Minimap Section
$0		4	num_rooms
$4		FOR {num_rooms} main_data: // $c bytes per room
	$0		4		? (RAM only)
	$4		4		lenght of map graphics section (RAM: pointer to section)
	$8		2		zone number
	$a		2		map number

Room Graphics Section
+       FOR {num_rooms} map_graphics:
        $0      4       num_vertices
        +       FOR {num_vertices} vertex3f (8 bytes each):
                $0      2       vertex x
                $2      2       vertex y
                $4      2       vertex z
                $6      2       zero padding
        +       poly3gt
                $0      4       num_poly3gts
                +       FOR {num_poly3gts} (4 bytes each):
                        $0      1       p1
                        $1      1       p2
                        $2      1       p3
                        $3      1       zero padding
        +       poly4gt
                $0      4       num_poly4gts
                +       FOR {num_poly4gts} (4 bytes each):
                        $0      1       p1
                        $1      1       p2
                        $2      1       p3
                        $3      1       p4
        +       floor_lines
                $0      4       num_floor_lines
                +       FOR {num_floor_lines} (4 bytes each):
                        $0      1       p1
                        $1      1       p2
                        $2      2       zero padding
        +       wall_lines
                $0      4       num_wall_lines
                +       FOR {num_wall_lines} (4 bytes each):
                        $0      1       p1
                        $1      1       p2
                        $2      2       zero padding
        +       doors
                $0      4       num_doors+1
                +       FOR {num_doors+1} (4 bytes each):
                        $0      1       vertex ID
                        $1      1       exit to zone
                        $2      1       central info (can be or'd together)
                                        $00 = white point
                                        $01 = no point graphics
                                        $02 = yellow save
                                        $04 = labelled exit
                                        $08 = container + save + workshop
                                        $10 = container
                        $3      1       lock ID (can be any of the following)
                                        Locked
                                        Latch
                                        One-Way
                                        Rood Inverse
                                        Named Key
                                        Named Sigil

Room Names Section
+	FOR {num_rooms} room_name:
	$0	$20str	room name
	$20	$2	prev (Shoulder button cycle)
	$22	$2	next (Shoulder button cycle)