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)
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
\SMALL\*.ARM are area map files, used by the MAP manu.
{{subpage|game=Vagrant Story}}
 
\SMALL\*.ARM are area map files, used by the MAP menu.


  Minimap Section
  Minimap Section
Line 10: Line 12:
   
   
  Room Graphics Section
  Room Graphics Section
  + FOR {num_rooms} map_graphics:
  +       FOR {num_rooms} map_graphics:
$0             4               num_vertices
        $0     4       num_vertices
        +             FOR {num_vertices} vertex3f (8 bytes each):
        +       FOR {num_vertices} vertex3f (8 bytes each):
                $0             2               vertex x
                $0     2       vertex x
                $2             2               vertex y
                $2     2       vertex y
                $4             2               vertex z
                $4     2       vertex z
                $6             2               zero padding
                $6     2       zero padding
        +             FOR {5 faces} polygons:
        +       poly3gt
                $0             4               num polygons
                $0      4      num_poly3gts
        +             FOR {num polygons} poly4gt or polyline (4 bytes each):
                +      FOR {num_poly3gts} (4 bytes each):
                      second face is always a poly4gt and defines the floor
                        $0      1      p1
                      other faces are polylines and define the walls
                        $1      1      p2
                $0             1               vertex 1
                        $2      1      p3
                $1             1               vertex 2
                        $3      1      zero padding
                $2             1               vertex 3
        +      poly4gt
                $3             1               vertex 4
                $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
  Room Names Section
  + FOR {num_rooms} room_name:
  + FOR {num_rooms} room_name:
  $0 $24str room name
  $0 $20str room name
 
$20 $2 prev (Shoulder button cycle)
[[Category:Vagrant_Story]]
$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)