From 9ba8e6cf38da5196ed7bc878fe452952f3e10638 Mon Sep 17 00:00:00 2001 From: Magnus Auvinen Date: Tue, 22 May 2007 15:06:55 +0000 Subject: moved docs --- docs/articles/map_format.txt | 100 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 docs/articles/map_format.txt (limited to 'docs/articles/map_format.txt') diff --git a/docs/articles/map_format.txt b/docs/articles/map_format.txt new file mode 100644 index 00000000..7583a5b7 --- /dev/null +++ b/docs/articles/map_format.txt @@ -0,0 +1,100 @@ +Title: Map File Format + +Group: Structure +(start code) +int ID // should be "MAPP" +int version // should be 2 +int size +int swaplen + +int num_item_types +int num_items +int num_raw_data + +int item_size +int data_size + +types { + int typeid + int start + int num +} * (num_item_types) + +item_offsets { + int offset +} * (num_items) + +raw_data_offsets { + int offset +} * (num_raw_data) + +item { + int type_and_id + int size + datai { + int data + } * (size/4) +} * (num_items) + +raw_data { + byte d +} * X +(end) + +Notes: + * swaplen tells how much of the data that should be swapped + * types.start is an index into offsets + * item.size must be a multiple of 4 + * the types must be sorted by type id + * special typeid of 0xffff means raw data, and there fore should always come last + +Could change: + * item.size could be removed + +Section: Registered Item Types + +Group: Image (0x8010) +(start code) +image { + int width + int height + int raw_data_index +} + +pixel_data { + byte r + byte g + byte b + byte a +} * (width * height) +(end) + +Group: Tilemap (0x8020) +(start code) +tilemap { + int image + int width + int height + int x + int y + int scale + int raw_data_index +} + +data { + byte data +} * (width * height) +(end) + +Group: Collision (0x8030) +(start code) +collision { + int width + int height + int raw_data_index +} + +data { + byte data +} * (width * height) +(end) -- cgit 1.4.1