summaryrefslogtreecommitdiff
path: root/reverse-engineering/dosbox_snif/dos_lemm.h
diff options
context:
space:
mode:
Diffstat (limited to 'reverse-engineering/dosbox_snif/dos_lemm.h')
-rw-r--r--reverse-engineering/dosbox_snif/dos_lemm.h22
1 files changed, 15 insertions, 7 deletions
diff --git a/reverse-engineering/dosbox_snif/dos_lemm.h b/reverse-engineering/dosbox_snif/dos_lemm.h
index 5504fee..472b1f5 100644
--- a/reverse-engineering/dosbox_snif/dos_lemm.h
+++ b/reverse-engineering/dosbox_snif/dos_lemm.h
@@ -3,9 +3,15 @@
#include <stdint.h>
+#define TRUE 0xFF
+#define FALSE 0x00
+
+#define LEVEL_HEIGHT 160
+#define LEVEL_WIDTH 1664
+
struct _state {
uint8_t s_splatting:1; //0x01
- uint8_t s_exploding:1; //0x02 combinable
+ uint8_t s_exploding_spe:1; //0x02 combinable
uint8_t s_falling:1; //0x04
uint8_t s_ascending:1; //0x08
uint8_t s_digging:1; //0x10
@@ -49,9 +55,9 @@ enum state_masks {
};
struct _flags1 {
- uint8_t fl1_cap_climber:1; // 0x01
- uint8_t fl1_unused:6;
- uint8_t fl1_walk_pause_for_shruggling:1; // 0x80
+ uint8_t cap_climber:1; // 0x01
+ uint8_t unused:6;
+ uint8_t walk_pause_for_shruggling:1; // 0x80
} __attribute__ ((__packed__));
union flags1 {
@@ -115,8 +121,10 @@ struct _avail_skills {
struct game_data {
/* ds == 0x0b55 */
- uint8_t unk0; // TODO
- uint8_t unk1[0x27]; // TODO
+ uint16_t unk0; // TODO
+ uint16_t unk0b; // TODO cf 00002BB5
+ uint16_t stencil_line_width;
+ uint8_t unk1[0x22]; // TODO
uint8_t paused; // [0x28]
uint8_t unk2[0x16]; // TODO
uint8_t lemm_count_to_process; // [0x3f]
@@ -133,7 +141,7 @@ struct game_data {
uint8_t unk6[0x1d]; // TODO
struct _avail_skills avail_skills; // [0x67] - [0x7e]
uint8_t unk7[0x06]; // TODO
- struct _lemm_data lemmings[1]; // [0x85]
+ struct _lemm_data lemmings[2]; // [0x85]
//struct _lemm_data lemmings[100]; // [0x85]
} __attribute__ ((__packed__));