Decompile aiSetObjImage

This commit is contained in:
Ryan Dwyer
2019-10-19 17:54:20 +10:00
parent a9b8a6fffc
commit 39dc5409c3
5 changed files with 67 additions and 57 deletions
+3 -1
View File
@@ -445,7 +445,9 @@
#define OBJECTFLAG2_40000000 0x40000000 // Not used in scripts
#define OBJECTFLAG2_80000000 0x80000000 // Not used in scripts
#define OBJTYPE_DOOR 0x01
#define OBJTYPE_DOOR 0x01
#define OBJTYPE_SINGLEMONITOR 0x0a
#define OBJTYPE_MULTIMONITOR 0x0b
#define OPERATOR_LESS_THAN 0
#define OPERATOR_GREATER_THAN 1
+1 -1
View File
@@ -220,7 +220,7 @@
/*0x00d7*/ bool ai00d7(void);
/*0x00d8*/ bool ai00d8(void);
/*0x00d9*/ bool ai00d9(void);
/*0x00da*/ bool ai00da(void);
/*0x00da*/ bool aiSetObjImage(void);
/*0x00db*/ bool ai00db(void);
/*0x00dc*/ bool ai00dc(void);
/*0x00dd*/ bool ai00dd(void);
+40
View File
@@ -265,6 +265,9 @@ struct defaultobj {
/*0x54*/ u32 nextcol;
/*0x58*/ u16 floorcol;
/*0x5a*/ u8 numtiles;
// These properties might not be part of defaultobj,
// but rather standard objs only
/*0x5c*/ u8 *ailist;
/*0x60*/ u16 aioffset;
/*0x62*/ u16 aireturnlist;
@@ -283,6 +286,43 @@ struct doorobj {
/*0x84*/ s8 state;
};
struct image {
/*0x00*/ u32 unk00;
/*0x04*/ u32 unk04;
/*0x08*/ u32 unk08;
/*0x0c*/ u32 unk0c;
/*0x10*/ u32 unk10;
/*0x14*/ u32 unk14;
};
struct singlemonitorobj {
/*0x00*/ u16 extrascale;
/*0x02*/ u8 hidden2;
/*0x03*/ u8 type;
/*0x04*/ u16 obj;
/*0x06*/ u16 pad;
/*0x08*/ u32 flags;
/*0x0c*/ u32 flags2;
/*0x10*/ u32 flags3;
/*0x14*/ struct position *pos;
/*0x18*/ u32 unk18;
/*0x1c*/ float realrot[9];
/*0x40*/ u32 hidden;
/*0x44*/ u32 unk44;
/*0x48*/ u32 unk48;
/*0x4c*/ s16 damage;
/*0x4e*/ u16 maxdamage;
/*0x50*/ u32 shadecol;
/*0x54*/ u32 nextcol;
/*0x58*/ u16 floorcol;
/*0x5a*/ u8 numtiles;
/*0x5c*/ struct image image;
};
struct multimonitorobj {
struct singlemonitorobj subobjs[4];
};
struct tag {
// These three words are possibly the same values as defined in the setup
// file, but this just a guess.