84 lines
2.1 KiB
Plaintext
84 lines
2.1 KiB
Plaintext
The Newsboy Map format is loosely based on XDR, wherein the minimum block size is 4 bytes long and stored in network-byte order(big-endian).
|
|
|
|
The basic format is as follow:
|
|
<magic number, 1 block>
|
|
<name>
|
|
<int name_len, 1 block>
|
|
<string, name_len/4 * block>
|
|
</name>
|
|
<session>
|
|
<int ses_len, 1 block>
|
|
<string session, ses_len/4 * block>
|
|
</session>
|
|
<int location, 1 block> // cyberspace(0) or meatspace(1)
|
|
<int width, 1 block>
|
|
<int height, 1 block>
|
|
<cells>
|
|
. . .
|
|
<flags, 1 block>
|
|
<decor, 1+n blocks>
|
|
<int, 1 block>
|
|
<decor item, 1+n blocks>
|
|
<int animated, 1 block>
|
|
<int anim_len, 1 block>
|
|
<string anim, anim_len/4 * block>
|
|
<int set_len, 1 block>
|
|
<string set, set_len/4 * block>
|
|
<int face_len, 1 block>
|
|
<string face, face_len/4 * block>
|
|
<int frame_len, 1 block>
|
|
<string frame, frame_len/4 * block>
|
|
</decor item>
|
|
</decor>
|
|
. . .
|
|
</cells>
|
|
<player>
|
|
<int player_x, 1 block>
|
|
<int player_y, 1 block>
|
|
<int pl_set_len, 1 block>
|
|
<string pl_set, pl_set_len/4 * block>
|
|
<int pl_face_len, 1 block>
|
|
<string pl_face, pl_face_len/4 * block>
|
|
<int pl_frame, 1 block>
|
|
</player>
|
|
<entities>
|
|
<int entity_count, 1 block>
|
|
. . .
|
|
<int x, 1 block>
|
|
<int y, 1 block>
|
|
<int set_len, 1 blocks>
|
|
<string set, chars/4 * block>
|
|
<int face_len, 1 blocks>
|
|
<string face, chars/4 * block>
|
|
<int frame, 1 block>
|
|
. . .
|
|
</entities>
|
|
<triggers>
|
|
<int trigger_count, 1 block>
|
|
. . .
|
|
<int x>
|
|
<int y>
|
|
<int width>
|
|
<int height>
|
|
<int activator, 1 block> // player, enemy, neutral, enemy bullet, player bullet, etc.
|
|
<int type, 1 block> // collide, activate, hack
|
|
<int event_len, 1 block>
|
|
<string event_name, chars/4 * block>
|
|
. . .
|
|
</triggers>
|
|
<events>
|
|
<int event_count, 1 block>
|
|
. . .
|
|
<int name_len, 1 block>
|
|
<string name, chars/4 * block>
|
|
<int type, 1 block>
|
|
<int param_count, 1 block>
|
|
<params>
|
|
. . .
|
|
<int param_len, 1 block>
|
|
<string param_data, chars/4 * block>
|
|
. . .
|
|
</params>
|
|
. . .
|
|
</events>
|