mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-08-20 13:44:53 -04:00
Decompile objDeform
This commit is contained in:
+1
-1
@@ -1432,7 +1432,7 @@ void chrRemove(struct prop *prop, bool delete)
|
||||
func0f14159c(prop);
|
||||
func0f0926bc(prop, 1, 0xffff);
|
||||
shieldhitsRemoveByProp(prop);
|
||||
func0f089a94(VTXSTORETYPE_CHRVTX, model);
|
||||
modelFreeVertices(VTXSTORETYPE_CHRVTX, model);
|
||||
propDeregisterRooms(prop);
|
||||
|
||||
if (g_Vars.stagenum == STAGE_CITRAINING) {
|
||||
|
||||
+1
-1
@@ -157,7 +157,7 @@ bool debug0f11edb0(void)
|
||||
return false;
|
||||
}
|
||||
|
||||
bool debug0f11edb8(void)
|
||||
bool debugIsObjDeformDebugEnabled(void)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
+3
-3
@@ -351,7 +351,7 @@ bool g_DebugRoomState = false;
|
||||
s32 var80078710nb = 0;
|
||||
s32 var80078714nb = 0;
|
||||
s32 var80078718nb = 0;
|
||||
s32 var8007871cnb = 0;
|
||||
bool g_DebugObjDeform = false;
|
||||
bool g_DebugLineMode = false;
|
||||
s32 var80078724nb = 0;
|
||||
s32 var80078728nb = 0;
|
||||
@@ -750,9 +750,9 @@ bool debug0f11edb0(void)
|
||||
return var80078718nb;
|
||||
}
|
||||
|
||||
bool debug0f11edb8(void)
|
||||
bool debugIsObjDeformDebugEnabled(void)
|
||||
{
|
||||
return var8007871cnb;
|
||||
return g_DebugObjDeform;
|
||||
}
|
||||
|
||||
bool debugIsRoomStateDebugEnabled(void)
|
||||
|
||||
+284
-1437
File diff suppressed because it is too large
Load Diff
+10
-10
@@ -106,14 +106,14 @@ void vtxstoreTick(void)
|
||||
if (g_VtxstoreTypes[VTXSTORETYPE_OBJVTX].unk24[i].unk0e > 0) {
|
||||
for (j = i + 1; j < g_VtxstoreTypes[VTXSTORETYPE_OBJVTX].numallocated; j++) {
|
||||
if (g_VtxstoreTypes[VTXSTORETYPE_OBJVTX].unk24[j].unk0e > 0
|
||||
&& g_VtxstoreTypes[VTXSTORETYPE_OBJVTX].unk24[i].unk04 == g_VtxstoreTypes[VTXSTORETYPE_OBJVTX].unk24[j].unk04
|
||||
&& g_VtxstoreTypes[VTXSTORETYPE_OBJVTX].unk24[i].unk08 == g_VtxstoreTypes[VTXSTORETYPE_OBJVTX].unk24[j].unk08) {
|
||||
s32 size = ALIGN16(g_VtxstoreTypes[VTXSTORETYPE_OBJVTX].unk24[j].unk0c * 0x0c);
|
||||
&& g_VtxstoreTypes[VTXSTORETYPE_OBJVTX].unk24[i].node == g_VtxstoreTypes[VTXSTORETYPE_OBJVTX].unk24[j].node
|
||||
&& g_VtxstoreTypes[VTXSTORETYPE_OBJVTX].unk24[i].level == g_VtxstoreTypes[VTXSTORETYPE_OBJVTX].unk24[j].level) {
|
||||
s32 size = ALIGN16(g_VtxstoreTypes[VTXSTORETYPE_OBJVTX].unk24[j].count * 0x0c);
|
||||
vtxstoreFixRefs(g_VtxstoreTypes[VTXSTORETYPE_OBJVTX].unk24[j].unk00, g_VtxstoreTypes[VTXSTORETYPE_OBJVTX].unk24[i].unk00);
|
||||
g_VtxstoreTypes[VTXSTORETYPE_OBJVTX].unk24[i].unk0e += g_VtxstoreTypes[VTXSTORETYPE_OBJVTX].unk24[j].unk0e;
|
||||
memaFree(g_VtxstoreTypes[VTXSTORETYPE_OBJVTX].unk24[j].unk00, size);
|
||||
g_VtxstoreTypes[VTXSTORETYPE_OBJVTX].unk24[j].unk0e = 0;
|
||||
g_VtxstoreTypes[VTXSTORETYPE_OBJVTX].val2 += g_VtxstoreTypes[VTXSTORETYPE_OBJVTX].unk24[j].unk0c;
|
||||
g_VtxstoreTypes[VTXSTORETYPE_OBJVTX].val2 += g_VtxstoreTypes[VTXSTORETYPE_OBJVTX].unk24[j].count;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -125,7 +125,7 @@ void vtxstoreTick(void)
|
||||
}
|
||||
}
|
||||
|
||||
void *vtxstoreAllocate(s32 count, s32 index, s32 arg2, s32 arg3)
|
||||
void *vtxstoreAllocate(s32 count, s32 index, struct modelnode *node, s32 level)
|
||||
{
|
||||
s32 i;
|
||||
s32 numchrs;
|
||||
@@ -154,10 +154,10 @@ void *vtxstoreAllocate(s32 count, s32 index, s32 arg2, s32 arg3)
|
||||
#endif
|
||||
|
||||
if (g_VtxstoreTypes[index].unk24[i].unk00) {
|
||||
g_VtxstoreTypes[index].unk24[i].unk0c = count;
|
||||
g_VtxstoreTypes[index].unk24[i].count = count;
|
||||
g_VtxstoreTypes[index].unk24[i].unk0e = 1;
|
||||
g_VtxstoreTypes[index].unk24[i].unk04 = arg2;
|
||||
g_VtxstoreTypes[index].unk24[i].unk08 = arg3;
|
||||
g_VtxstoreTypes[index].unk24[i].node = node;
|
||||
g_VtxstoreTypes[index].unk24[i].level = level;
|
||||
g_VtxstoreTypes[index].val2 -= count;
|
||||
|
||||
return g_VtxstoreTypes[index].unk24[i].unk00;
|
||||
@@ -224,9 +224,9 @@ void vtxstoreFree(s32 type, void *arg1)
|
||||
return;
|
||||
}
|
||||
|
||||
memaFree(g_VtxstoreTypes[type].unk24[i].unk00, ALIGN16(g_VtxstoreTypes[type].unk24[i].unk0c * 0xc));
|
||||
memaFree(g_VtxstoreTypes[type].unk24[i].unk00, ALIGN16(g_VtxstoreTypes[type].unk24[i].count * 0xc));
|
||||
|
||||
g_VtxstoreTypes[type].val2 += g_VtxstoreTypes[type].unk24[i].unk0c;
|
||||
g_VtxstoreTypes[type].val2 += g_VtxstoreTypes[type].unk24[i].count;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4130,8 +4130,8 @@
|
||||
|
||||
#define VTXSTORETYPE_CHRVTX 0
|
||||
#define VTXSTORETYPE_OBJVTX 1
|
||||
#define VTXSTORETYPE_CHRCOL 2
|
||||
#define VTXSTORETYPE_OBJCOL 3
|
||||
#define VTXSTORETYPE_CHRCOL 2
|
||||
#define VTXSTORETYPE_OBJCOL 3
|
||||
|
||||
#define WAYMODE_INIT 0
|
||||
#define WAYMODE_LOST1 1
|
||||
|
||||
@@ -10,7 +10,7 @@ s32 debug0f11ed70(void);
|
||||
bool debugIsBgRenderingEnabled(void);
|
||||
bool debugIsPropRenderingEnabled(void);
|
||||
bool debug0f11edb0(void);
|
||||
bool debug0f11edb8(void);
|
||||
bool debugIsObjDeformDebugEnabled(void);
|
||||
bool debugIsRoomStateDebugEnabled(void);
|
||||
s32 debugIsTurboModeEnabled(void);
|
||||
bool debugForceAllObjectivesComplete(void);
|
||||
|
||||
@@ -211,7 +211,7 @@ Gfx *gfxRenderRadialShadow(Gfx *gdl, f32 x, f32 y, f32 z, f32 angle, f32 radius,
|
||||
Gfx *objRenderShadow(struct defaultobj *obj, Gfx *gdl);
|
||||
Gfx *objRender(struct prop *prop, Gfx *gdl, bool withalpha);
|
||||
bool modelIsNodeNotTvscreen(struct modelfiledata *filedata, struct modelnode *node);
|
||||
void func0f081ccc(struct defaultobj *obj, s32 arg1);
|
||||
void objDeform(struct defaultobj *obj, s32 level);
|
||||
void objBounce(struct defaultobj *obj, struct coord *arg1);
|
||||
void objSetDropped(struct prop *prop, u32 droptype);
|
||||
void objApplyMomentum(struct defaultobj *obj, struct coord *speed, f32 rotation, bool addspeed, bool addrotation);
|
||||
@@ -260,7 +260,7 @@ void currentPlayerQueuePickupWeaponHudmsg(u32 weaponnum, bool dual);
|
||||
s32 propPickupByPlayer(struct prop *prop, bool showhudmsg);
|
||||
s32 objTestForPickup(struct prop *prop);
|
||||
bool func0f0899dc(struct prop *prop, struct coord *arg1, f32 *arg2, f32 *arg3);
|
||||
void func0f089a94(s32 vtxstoretype, struct model *model);
|
||||
void modelFreeVertices(s32 vtxstoretype, struct model *model);
|
||||
struct prop *hatApplyToChr(struct hatobj *hat, struct chrdata *chr, struct modelfiledata *filedata, struct prop *prop, struct model *model);
|
||||
void hatLoadAndApplyToChr(struct hatobj *hat, struct chrdata *chr);
|
||||
void hatAssignToChr(struct hatobj *hat, struct chrdata *chr);
|
||||
|
||||
@@ -8,7 +8,7 @@ void vtxstoreReset(void);
|
||||
|
||||
void vtxstoreFixRefs(union modelrwdata *find, union modelrwdata *replacement);
|
||||
void vtxstoreTick(void);
|
||||
void *vtxstoreAllocate(s32 count, s32 index, s32 arg2, s32 arg3);
|
||||
void vtxstoreFree(s32 arg0, void *arg1);
|
||||
void *vtxstoreAllocate(s32 count, s32 index, struct modelnode *node, s32 level);
|
||||
void vtxstoreFree(s32 type, void *arg1);
|
||||
|
||||
#endif
|
||||
|
||||
+11
-6
@@ -6016,9 +6016,14 @@ struct var80067e6c {
|
||||
};
|
||||
|
||||
struct gfxvtx {
|
||||
/*0x00*/ s16 x;
|
||||
/*0x02*/ s16 y;
|
||||
/*0x04*/ s16 z;
|
||||
union {
|
||||
struct {
|
||||
/*0x00*/ s16 x;
|
||||
/*0x02*/ s16 y;
|
||||
/*0x04*/ s16 z;
|
||||
};
|
||||
s16 v[3];
|
||||
};
|
||||
/*0x06*/ u8 flags;
|
||||
/*0x07*/ u8 colour;
|
||||
/*0x08*/ s16 unk08;
|
||||
@@ -6078,9 +6083,9 @@ struct audiochannel {
|
||||
|
||||
struct var8007e3d0_data {
|
||||
void *unk00;
|
||||
u32 unk04;
|
||||
u32 unk08;
|
||||
s16 unk0c;
|
||||
struct modelnode *node;
|
||||
s32 level;
|
||||
s16 count;
|
||||
s16 unk0e;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user