mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-07-29 15:33:02 -04:00
Decompile chrRender
This commit is contained in:
@@ -464,7 +464,7 @@
|
||||
#define CHRCFLAG_HIDDEN 0x00000400
|
||||
#define CHRCFLAG_NOAUTOAIM 0x00000800
|
||||
#define CHRCFLAG_UNEXPLODABLE 0x00001000
|
||||
#define CHRCFLAG_00002000 0x00002000 // Not used in scripts
|
||||
#define CHRCFLAG_NOSHADOW 0x00002000
|
||||
#define CHRCFLAG_HAS_SPECIAL_DEATH_ANIMATION 0x00004000
|
||||
#define CHRCFLAG_00008000 0x00008000 // Not used in scripts
|
||||
#define CHRCFLAG_00010000 0x00010000 // Related to dead people in intro cutscenes
|
||||
@@ -1694,6 +1694,8 @@
|
||||
#define MODELPART_03 0x03
|
||||
#define MODELPART_ROBOTMUZZLEFLASHL 0x03
|
||||
#define MODELPART_HUDPIECE 0x04
|
||||
#define MODELPART_04 0x04
|
||||
#define MODELPART_05 0x05
|
||||
#define MODELPART_NECKLACE 0x07
|
||||
#define MODELPART_NEWCLIP 0x28
|
||||
#define MODELPART_NEWCLIP2 0x29
|
||||
|
||||
@@ -21,7 +21,7 @@ void func0f021fa8(struct chrdata *chr, struct coord *pos, s16 *rooms);
|
||||
void func0f0220ec(struct chrdata *chr, s32 arg1, s32 arg2);
|
||||
u32 func0f022214(void);
|
||||
void chrUpdateCloak(struct chrdata *chr);
|
||||
u32 func0f022be4(void);
|
||||
s32 func0f022be4(struct chrdata *chr);
|
||||
void chrSetPoisoned(struct chrdata *chr, void *arg1);
|
||||
u32 func0f022d60(void);
|
||||
bool propchrDoFireslotThing(struct prop *prop);
|
||||
@@ -30,11 +30,11 @@ void chrDropItems(struct chrdata *chr);
|
||||
void chrSetHudpieceVisible(struct chrdata *chr, bool visible);
|
||||
void chrDropWeapons(struct chrdata *chr);
|
||||
void func0f0246e4(u8 *arg0);
|
||||
u32 func0f024738(void);
|
||||
bool func0f024738(struct chrdata *chr);
|
||||
u32 func0f024b18(void);
|
||||
u32 func0f025074(void);
|
||||
void func0f025074(struct prop *prop, struct modelrenderdata *renderdata, bool withalpha, struct chrdata *chr);
|
||||
void bodyGetBloodColour(s16 bodynum, u8 *colour1, u32 *colour2);
|
||||
Gfx *propchrRender(struct prop *prop, Gfx *gdl, bool arg2);
|
||||
Gfx *chrRender(struct prop *prop, Gfx *gdl, bool withalpha);
|
||||
void chrEmitSparks(struct chrdata *chr, struct prop *prop, s32 arg2, struct coord *coord, struct coord *coord2, struct chrdata *chr2);
|
||||
u32 func0f0260c4(void);
|
||||
u32 func0f0268bc(void);
|
||||
@@ -58,10 +58,10 @@ void func0f0295f8(f32 arg0, s32 *arg1, s32 *arg2, s32 *arg3);
|
||||
f32 propGetShieldThing(struct prop **propptr);
|
||||
u32 func0f02983c(void);
|
||||
u32 func0f02b7d4(void);
|
||||
u32 func0f02bdf8(void);
|
||||
u32 func0f02c6e0(void);
|
||||
Gfx *func0f02bdf8(Gfx *gdl, struct prop *chr1, struct prop *chr2);
|
||||
Gfx *func0f02c6e0(Gfx *gdl, struct chrdata *chr, u32 alpha);
|
||||
u32 func0f02c9b0(void);
|
||||
u32 func0f02ccb4(void);
|
||||
void func0f02ccb4(struct chrdata *drcaroll, s32 imageleft, s32 imageright);
|
||||
s32 getNumChrSlots(void);
|
||||
void chrRegister(s32 chrnum, s32 chrindex);
|
||||
void func0f01e760(s32 arg0);
|
||||
|
||||
@@ -66,7 +66,7 @@ extern u32 var80070748;
|
||||
extern u32 var8007074c;
|
||||
extern bool g_PlayersWithControl[];
|
||||
extern bool g_PlayerInvincible;
|
||||
extern s32 var80070764;
|
||||
extern s32 g_InCutscene;
|
||||
extern s16 g_DeathAnimations[];
|
||||
extern u32 g_NumDeathAnimations;
|
||||
extern u32 var80070780;
|
||||
|
||||
@@ -15,7 +15,7 @@ bool func0f12af5c(struct explosion *exp, struct prop *prop, struct coord *pos1,
|
||||
u32 func0f12b0e0(void);
|
||||
u32 func0f12bbdc(struct prop *prop);
|
||||
u32 explosionUpdateZ(struct prop *prop);
|
||||
Gfx *explosionRender(struct prop *prop, Gfx *gdl, bool arg2);
|
||||
Gfx *explosionRender(struct prop *prop, Gfx *gdl, bool withalpha);
|
||||
u32 func0f12cd64(void);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -15,7 +15,7 @@ void func0f060538(struct prop *prop);
|
||||
void func0f0605c4(struct prop *prop);
|
||||
void propReparent(struct prop *mover, struct prop *adopter);
|
||||
void propDetach(struct prop *prop);
|
||||
Gfx *propRender(Gfx *gdl, struct prop *prop, bool arg2);
|
||||
Gfx *propRender(Gfx *gdl, struct prop *prop, bool withalpha);
|
||||
Gfx *propsRender(Gfx *gdl, s16 arg1, s32 arg2, s16 *arg3);
|
||||
u32 func0f060984(void);
|
||||
u32 func0f060bac(void);
|
||||
|
||||
@@ -84,7 +84,7 @@ s32 getMissionTime(void);
|
||||
s32 func0f0c228c(struct prop *prop);
|
||||
u32 func0f0c2364(void);
|
||||
u32 func0f0c2a58(void);
|
||||
Gfx *playerRender(struct prop *prop, Gfx *gdl, bool arg2);
|
||||
Gfx *playerRender(struct prop *prop, Gfx *gdl, bool withalpha);
|
||||
Gfx *currentPlayerLoadMatrix(Gfx *gdl);
|
||||
u32 func0f0c3320(void);
|
||||
void setTickMode(s32 tickmode);
|
||||
|
||||
@@ -3,6 +3,6 @@
|
||||
#include <ultra64.h>
|
||||
#include "types.h"
|
||||
|
||||
u32 func0f0c33f0(void);
|
||||
void func0f0c33f0(Mtxf *matrix, s32 arg1);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -17,6 +17,6 @@ Gfx *func0f1664a0(Gfx *gdl, u32 arg1);
|
||||
Gfx *gfxConsiderDisableFog(Gfx *gdl);
|
||||
u32 func0f1666f8(void);
|
||||
u32 func0f1667e8(void);
|
||||
u32 func0f1667f4(void);
|
||||
s32 func0f1667f4(struct prop *prop, f32 *arg1);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -106,7 +106,7 @@ s32 menuhandler00185068(u32 operation, struct menuitem *item, union handlerdata
|
||||
void func0f185568(void);
|
||||
Gfx *func0f185774(Gfx *gdl);
|
||||
u32 func0f185c14(void);
|
||||
u32 func0f185e20(void);
|
||||
bool func0f185e20(struct prop *prop, s32 *arg1);
|
||||
void mpPrepareScenario(void);
|
||||
u32 func0f186508(void);
|
||||
void func0f1866b8(s32 playernum, char *message);
|
||||
|
||||
+10
-10
@@ -84,11 +84,11 @@ u32 func0f068ad4(void);
|
||||
struct model08thing *func0f068af4(struct defaultobj *obj);
|
||||
u32 func0f068b14(void);
|
||||
u32 func0f068c04(void);
|
||||
u32 func0f068fc8(void);
|
||||
s32 func0f068fc8(struct prop *prop, bool arg1);
|
||||
void func0f069144(struct prop *prop, u8 *nextcol, u16 floorcol);
|
||||
void func0f069630(struct prop *prop, u8 *nextcol, u16 floorcol);
|
||||
void func0f069710(u8 *shadecol, u8 *nextcol);
|
||||
u32 func0f069750(void);
|
||||
void func0f069750(s32 *arg0, s32 arg1, f32 *arg2);
|
||||
void func0f069850(struct defaultobj *obj, struct coord *pos, f32 *realrot, struct geo *geo);
|
||||
void func0f069b4c(struct defaultobj *obj);
|
||||
void func0f069c1c(struct defaultobj *obj);
|
||||
@@ -96,8 +96,8 @@ void func0f069c70(struct defaultobj *obj, bool arg1, bool arg2);
|
||||
u32 func0f069cd8(void);
|
||||
u32 func0f069d38(void);
|
||||
u32 func0f06a170(void);
|
||||
struct prop *func0f06a1ec(struct singlemonitorobj *monitor, struct model08 *filedata, u32 arg2, u32 arg3);
|
||||
struct prop *func0f06a52c(struct singlemonitorobj *monitor, struct model08 *model08);
|
||||
struct prop *func0f06a1ec(struct singlemonitorobj *monitor, struct modelfiledata *filedata, u32 arg2, u32 arg3);
|
||||
struct prop *func0f06a52c(struct singlemonitorobj *monitor, struct modelfiledata *modelfiledata);
|
||||
struct prop *func0f06a550(struct singlemonitorobj *monitor);
|
||||
u32 func0f06a580(void);
|
||||
f32 func0f06a620(struct defaultobj *obj);
|
||||
@@ -208,9 +208,9 @@ void imageSlotSetImage(struct monitorscreen *screen, u32 arg1);
|
||||
u32 func0f07fbf0(void);
|
||||
u32 func0f07fbf8(void);
|
||||
u32 func0f0809c4(void);
|
||||
u32 func0f080f8c(void);
|
||||
Gfx *gfxRenderRadialShadow(Gfx *gdl, f32 x, f32 y, f32 z, f32 angle, f32 size, u32 alpha);
|
||||
u32 func0f081220(void);
|
||||
Gfx *propobjRender(struct prop *prop, Gfx *gdl, bool arg2);
|
||||
Gfx *propobjRender(struct prop *prop, Gfx *gdl, bool withalpha);
|
||||
u32 func0f081c18(void);
|
||||
u32 func0f081ccc(void);
|
||||
u32 func0f0826cc(void);
|
||||
@@ -262,7 +262,7 @@ u32 func0f088840(struct prop *prop, bool showhudmsg);
|
||||
u32 func0f089014(void);
|
||||
bool func0f0899dc(struct prop *prop, f32 *arg0, f32 *arg1, f32 *arg2);
|
||||
void func0f089a94(bool arg0, struct model *model);
|
||||
void func0f089c70(struct hatobj *hat, struct chrdata *chr, struct model08 *filedata, u32 arg3, u32 arg4);
|
||||
void func0f089c70(struct hatobj *hat, struct chrdata *chr, struct modelfiledata *filedata, u32 arg3, u32 arg4);
|
||||
void func0f089d64(struct hatobj *hat, struct chrdata *chr);
|
||||
void hatAssignToChr(struct hatobj *hat, struct chrdata *chr);
|
||||
u32 chrTryEquipHat(struct chrdata *chr, u32 model, u32 flags);
|
||||
@@ -281,7 +281,7 @@ void propweaponSetDual(struct weaponobj *weapon1, struct weaponobj *weapon2);
|
||||
u32 func0f08adc8(void);
|
||||
u32 func0f08ae0c(void);
|
||||
u32 func0f08ae54(struct defaultobj *obj, struct chrdata *chr);
|
||||
u32 func0f08b108(struct weaponobj *weapon, struct chrdata *chr, struct model08 *model08, u32 arg3, u32 arg4);
|
||||
u32 func0f08b108(struct weaponobj *weapon, struct chrdata *chr, struct modelfiledata *modelfiledata, u32 arg3, u32 arg4);
|
||||
void func0f08b208(struct weaponobj *weapon, struct chrdata *chr);
|
||||
void func0f08b25c(struct weaponobj *weapon, struct chrdata *chr);
|
||||
u32 func0f08b27c(void);
|
||||
@@ -322,8 +322,8 @@ void doorSetMode(struct doorobj *door, s32 newmode);
|
||||
void doorActivate(struct doorobj *door, s32 newmode);
|
||||
s32 doorIsClosed(struct doorobj *door);
|
||||
s32 doorIsOpen(struct doorobj *door);
|
||||
u32 func0f08e5a8(void);
|
||||
u32 func0f08e6bc(void);
|
||||
s32 func0f08e5a8(s16 *rooms, struct screenbox *box);
|
||||
f32 func0f08e6bc(struct prop *prop, f32 arg1);
|
||||
u32 func0f08e794(void);
|
||||
bool func0f08e8ac(struct prop *prop, struct coord *coord, f32 arg2, u32 arg3);
|
||||
bool posIsInDrawDistance(struct coord *arg);
|
||||
|
||||
@@ -13,7 +13,7 @@ void smokeClearForProp(struct prop *prop);
|
||||
struct smoke *smokeCreateSimple(struct coord *pos, s16 *rooms, s16 type);
|
||||
u32 func0f12e848(struct prop *prop);
|
||||
u32 smokeUpdateZ(struct prop *prop);
|
||||
Gfx *smokeRender(struct prop *prop, Gfx *gdl, bool arg2);
|
||||
Gfx *smokeRender(struct prop *prop, Gfx *gdl, bool withalpha);
|
||||
u32 func0f12f5f8(void);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -491,7 +491,7 @@ extern u32 var8009ca84;
|
||||
extern u32 var8009cad0;
|
||||
extern u32 var8009cadc;
|
||||
extern u32 var8009cae0;
|
||||
extern u8 var8009caec;
|
||||
extern u8 var8009caec[4];
|
||||
extern u8 var8009caf0;
|
||||
extern struct var8009cb08 var8009cb08[6];
|
||||
extern u32 var8009cbf8;
|
||||
|
||||
@@ -14,8 +14,8 @@ u32 func0001a740(void);
|
||||
u32 func0001a784(void);
|
||||
u32 func0001a7cc(void);
|
||||
u32 func0001a85c(void);
|
||||
struct modelnode *modelGetPart(struct model08 *arg0, s32 partnum);
|
||||
union modelnode_data *modelGetPartNodeData(struct model08 *model08, s32 partnum);
|
||||
struct modelnode *modelGetPart(struct modelfiledata *arg0, s32 partnum);
|
||||
union modelnode_data *modelGetPartNodeData(struct modelfiledata *modelfiledata, s32 partnum);
|
||||
u32 func0001a9e8(void);
|
||||
void *modelGetNodeData(struct model *model, struct modelnode *node);
|
||||
void modelNodeGetPosition(struct model *model, struct modelnode *node, struct coord *pos);
|
||||
@@ -88,7 +88,7 @@ u32 func00020f30(void);
|
||||
u32 func0002124c(void);
|
||||
u32 func000216cc(void);
|
||||
u32 func0002170c(void);
|
||||
u32 func00021ef4(void);
|
||||
void modelRender(struct modelrenderdata *renderdata, struct model *model);
|
||||
u32 func000220fc(void);
|
||||
u32 func000225d4(void);
|
||||
u32 func000227a4(void);
|
||||
|
||||
+30
-9
@@ -275,7 +275,7 @@ struct modelnode {
|
||||
/*0x14*/ struct modelnode *child;
|
||||
};
|
||||
|
||||
struct model08 { // raw model file data
|
||||
struct modelfiledata {
|
||||
struct modelnode *rootnode;
|
||||
struct stagethinglist *unk04;
|
||||
|
||||
@@ -292,7 +292,7 @@ struct model {
|
||||
/*0x00*/ u8 unk00;
|
||||
/*0x01*/ u8 unk01;
|
||||
/*0x04*/ struct chrdata *chr;
|
||||
/*0x08*/ struct model08 *unk08;
|
||||
/*0x08*/ struct modelfiledata *filedata;
|
||||
/*0x0c*/ Mtxf *unk0c;
|
||||
/*0x10*/ void **datas; // array of pointers to modeldata structs
|
||||
/*0x14*/ f32 unk14;
|
||||
@@ -331,7 +331,7 @@ struct modeldata_05 {
|
||||
};
|
||||
|
||||
struct modeldata_headspot { // type 0x17
|
||||
struct model08 *model08;
|
||||
struct modelfiledata *modelfiledata;
|
||||
void *datas;
|
||||
};
|
||||
|
||||
@@ -2188,10 +2188,8 @@ struct player {
|
||||
/*0x0004*/ struct coord memcampos;
|
||||
/*0x0010*/ u16 visionmode;
|
||||
/*0x0014*/ s32 memcamroom;
|
||||
/*0x0018*/ u32 unk0018;
|
||||
/*0x001c*/ u32 unk001c;
|
||||
/*0x0020*/ u32 unk0020;
|
||||
/*0x0024*/ u32 unk0024;
|
||||
/*0x0018*/ struct coord eraserpos;
|
||||
/*0x0024*/ f32 eraserpropdist;
|
||||
/*0x0028*/ u32 unk0028;
|
||||
/*0x002c*/ u32 unk002c;
|
||||
/*0x0030*/ bool isfalling;
|
||||
@@ -2335,7 +2333,10 @@ struct player {
|
||||
/*0x0264*/ struct weaponobj *slayerrocket;
|
||||
/*0x0268*/ bool eyesshut;
|
||||
/*0x026c*/ f32 eyesshutfrac;
|
||||
/*0x0270*/ u32 unk0270;
|
||||
/*0x0270*/ u8 epcol_0;
|
||||
/*0x0270*/ u8 epcol_1;
|
||||
/*0x0270*/ u8 epcol_2;
|
||||
/*0x0270*/ u8 flashbang;
|
||||
/*0x0274*/ bool waitforzrelease;
|
||||
/*0x0278*/ f32 shieldshowrot;
|
||||
/*0x027c*/ u32 shieldshowrnd;
|
||||
@@ -4931,7 +4932,7 @@ struct chrnumaction {
|
||||
};
|
||||
|
||||
struct propdefinition {
|
||||
struct model08 *filedata;
|
||||
struct modelfiledata *filedata;
|
||||
u16 fileid;
|
||||
u16 scale;
|
||||
};
|
||||
@@ -5887,6 +5888,26 @@ struct objticksp476 {
|
||||
/*0x3c*/ u32 unk3c;
|
||||
};
|
||||
|
||||
// Suspected to be the same as objticksp476
|
||||
struct modelrenderdata {
|
||||
/*0x00*/ u32 unk00;
|
||||
/*0x04*/ s32 unk04;
|
||||
/*0x08*/ u32 unk08;
|
||||
/*0x0c*/ Gfx *gdl;
|
||||
/*0x10*/ u32 unk10;
|
||||
/*0x14*/ u32 unk14;
|
||||
/*0x18*/ u32 unk18;
|
||||
/*0x1c*/ u32 unk1c;
|
||||
/*0x20*/ u32 unk20;
|
||||
/*0x24*/ u32 unk24;
|
||||
/*0x28*/ u32 unk28;
|
||||
/*0x2c*/ u32 unk2c;
|
||||
/*0x30*/ u32 unk30;
|
||||
/*0x34*/ u32 colour34;
|
||||
/*0x38*/ u32 colour38;
|
||||
/*0x3c*/ u32 unk3c;
|
||||
};
|
||||
|
||||
struct rend_vidat {
|
||||
/*0x00*/ void *unk00;
|
||||
/*0x04*/ u16 x;
|
||||
|
||||
Reference in New Issue
Block a user