Vagrant Story/ARM files

From Data Crystal
< Vagrant Story
Revision as of 18:12, 14 November 2018 by Valendian (talk | contribs) (ARM linked list)
Jump to navigation Jump to search

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)