mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-08-16 04:44:08 -04:00
Set names for menumodel symbols
This commit is contained in:
+26
-24
@@ -122,7 +122,7 @@ struct creditsdata {
|
||||
/*0x0008*/ u32 unk0008;
|
||||
/*0x000c*/ struct particle particles[500];
|
||||
/*0x2eec*/ u8 unk2eec;
|
||||
/*0x2ef0*/ struct menu840 unk2ef0;
|
||||
/*0x2ef0*/ struct menumodel menumodel;
|
||||
/*0x34a8*/ u8 unk34a8[0xcac];
|
||||
|
||||
/**
|
||||
@@ -1796,7 +1796,7 @@ Gfx *creditsDraw(Gfx *gdl)
|
||||
g_CreditsScrollStarted = true;
|
||||
scrolltimer240 = 0;
|
||||
|
||||
func0f0f37a4(&g_CreditsData->unk2ef0);
|
||||
menuUnsetModel(&g_CreditsData->menumodel);
|
||||
}
|
||||
|
||||
scrolltimer240 += g_Vars.diffframe240;
|
||||
@@ -1805,19 +1805,22 @@ Gfx *creditsDraw(Gfx *gdl)
|
||||
scrolltimer240 = 0;
|
||||
}
|
||||
|
||||
g_CreditsData->unk2ef0.unk54c = 0;
|
||||
g_CreditsData->unk2ef0.unk524 = 0;
|
||||
g_CreditsData->unk2ef0.unk520 = g_CreditsData->unk2ef0.unk548 = -0.26175770163536;
|
||||
g_CreditsData->unk2ef0.unk528 = g_CreditsData->unk2ef0.unk550 = 0;
|
||||
g_CreditsData->unk2ef0.unk538 = 833.0f - (scrolltimer240 / TICKS(14400.0f)) * 2413.0f;
|
||||
g_CreditsData->unk2ef0.unk53c = VERSION == VERSION_PAL_FINAL ? 65.86 : 70.86;
|
||||
g_CreditsData->unk2ef0.unk540 = -2050;
|
||||
g_CreditsData->unk2ef0.unk544 = 1.467;
|
||||
g_CreditsData->unk2ef0.unk00c = 1200;
|
||||
g_CreditsData->unk2ef0.unk5b1_07 = true;
|
||||
g_CreditsData->unk2ef0.partvisibility = NULL;
|
||||
g_CreditsData->menumodel.newroty = 0;
|
||||
g_CreditsData->menumodel.curroty = 0;
|
||||
|
||||
gdl = menuRenderModels(gdl, &g_CreditsData->unk2ef0, 4);
|
||||
g_CreditsData->menumodel.currotx = g_CreditsData->menumodel.newrotx = -0.26175770163536;
|
||||
g_CreditsData->menumodel.currotz = g_CreditsData->menumodel.newrotz = 0;
|
||||
|
||||
g_CreditsData->menumodel.newposx = 833.0f - (scrolltimer240 / TICKS(14400.0f)) * 2413.0f;
|
||||
g_CreditsData->menumodel.newposy = VERSION == VERSION_PAL_FINAL ? 65.86 : 70.86;
|
||||
g_CreditsData->menumodel.newposz = -2050;
|
||||
|
||||
g_CreditsData->menumodel.newscale = 1.467;
|
||||
g_CreditsData->menumodel.newparams = MENUMODELPARAMS_SET_FILENUM(FILE_PPDMENU);
|
||||
g_CreditsData->menumodel.drawbehinddialog = true;
|
||||
g_CreditsData->menumodel.partvisibility = NULL;
|
||||
|
||||
gdl = menuRenderModel(gdl, &g_CreditsData->menumodel, MENUMODELTYPE_CREDITSLOGO);
|
||||
|
||||
gSPMatrix(gdl++, osVirtualToPhysical(matrix), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
|
||||
@@ -1912,19 +1915,18 @@ void creditsReset(void)
|
||||
|
||||
creditsResetParticles();
|
||||
creditsResetSlides();
|
||||
func0f0f8bb4(&g_CreditsData->unk2ef0, 0x25800, 1);
|
||||
menuResetModel(&g_CreditsData->menumodel, 0x25800, true);
|
||||
|
||||
g_CreditsData->unk2ef0.unk580 = 0;
|
||||
g_CreditsData->menumodel.removingpiece = false;
|
||||
|
||||
func0f0f372c(&g_CreditsData->unk2ef0, 0, 0, 0, 0, 0, 0, 1, 5);
|
||||
menuConfigureModel(&g_CreditsData->menumodel, 0, 0, 0, 0, 0, 0, 1, MENUMODELFLAG_HASSCALE | MENUMODELFLAG_HASROTATION);
|
||||
|
||||
g_CreditsData->unk2ef0.unk53c = 90;
|
||||
g_CreditsData->unk2ef0.unk510 = 8.2;
|
||||
g_CreditsData->unk2ef0.unk514 = -4.1;
|
||||
g_CreditsData->unk2ef0.unk51c = 0.00393;
|
||||
g_CreditsData->unk2ef0.unk54c = 0;
|
||||
g_CreditsData->unk2ef0.unk524 = g_CreditsData->unk2ef0.unk54c;
|
||||
g_CreditsData->unk2ef0.unk578 = 60;
|
||||
g_CreditsData->menumodel.newposy = 90;
|
||||
g_CreditsData->menumodel.curposx = 8.2;
|
||||
g_CreditsData->menumodel.curposy = -4.1;
|
||||
g_CreditsData->menumodel.curscale = 0.00393;
|
||||
g_CreditsData->menumodel.curroty = g_CreditsData->menumodel.newroty = 0;
|
||||
g_CreditsData->menumodel.rottimer60 = 60;
|
||||
|
||||
g_CreditsUsingAltTitle = g_CreditsAltTitleRequested;
|
||||
|
||||
|
||||
+14
-14
@@ -432,19 +432,19 @@ struct menudialogdef *endscreenAdvance(void)
|
||||
return &g_NextMissionMenuDialog;
|
||||
}
|
||||
|
||||
void endscreen0f10d770(void)
|
||||
void endscreenResetModels(void)
|
||||
{
|
||||
func0f0f8bb4(&g_Menus[0].unk840, bgunCalculateGunMemCapacity() - menugfxGetParticleArraySize(), 0);
|
||||
g_Menus[0].unk840.unk004 = bgunGetGunMem() + menugfxGetParticleArraySize();
|
||||
menuResetModel(&g_Menus[0].menumodel, bgunCalculateGunMemCapacity() - menugfxGetParticleArraySize(), false);
|
||||
g_Menus[0].menumodel.allocstart = bgunGetGunMem() + menugfxGetParticleArraySize();
|
||||
|
||||
func0f0f8bb4(&g_Menus[1].unk840, bgunCalculateGunMemCapacity() - menugfxGetParticleArraySize(), 0);
|
||||
g_Menus[1].unk840.unk004 = bgunGetGunMem() + menugfxGetParticleArraySize();
|
||||
menuResetModel(&g_Menus[1].menumodel, bgunCalculateGunMemCapacity() - menugfxGetParticleArraySize(), false);
|
||||
g_Menus[1].menumodel.allocstart = bgunGetGunMem() + menugfxGetParticleArraySize();
|
||||
|
||||
func0f0f8bb4(&g_Menus[2].unk840, bgunCalculateGunMemCapacity() - menugfxGetParticleArraySize(), 0);
|
||||
g_Menus[2].unk840.unk004 = bgunGetGunMem() + menugfxGetParticleArraySize();
|
||||
menuResetModel(&g_Menus[2].menumodel, bgunCalculateGunMemCapacity() - menugfxGetParticleArraySize(), false);
|
||||
g_Menus[2].menumodel.allocstart = bgunGetGunMem() + menugfxGetParticleArraySize();
|
||||
|
||||
func0f0f8bb4(&g_Menus[3].unk840, bgunCalculateGunMemCapacity() - menugfxGetParticleArraySize(), 0);
|
||||
g_Menus[3].unk840.unk004 = bgunGetGunMem() + menugfxGetParticleArraySize();
|
||||
menuResetModel(&g_Menus[3].menumodel, bgunCalculateGunMemCapacity() - menugfxGetParticleArraySize(), false);
|
||||
g_Menus[3].menumodel.allocstart = bgunGetGunMem() + menugfxGetParticleArraySize();
|
||||
}
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
@@ -687,7 +687,7 @@ void endscreenContinue(s32 context)
|
||||
menuPushDialog(&g_MissionContinueOrReplyMenuDialog);
|
||||
}
|
||||
} else {
|
||||
endscreen0f10d770();
|
||||
endscreenResetModels();
|
||||
|
||||
if (context == 1) {
|
||||
menuPushRootDialog(endscreenAdvance(), MENUROOT_COOPCONTINUE);
|
||||
@@ -746,7 +746,7 @@ MenuDialogHandlerResult endscreenHandle2PCompleted(s32 operation, struct menudia
|
||||
&& !isStageDifficultyUnlocked(g_MissionConfig.stageindex + 1, g_MissionConfig.difficulty)))) {
|
||||
menuPopDialog();
|
||||
} else {
|
||||
endscreen0f10d770();
|
||||
endscreenResetModels();
|
||||
menuPushDialog(endscreenAdvance());
|
||||
}
|
||||
#endif
|
||||
@@ -789,7 +789,7 @@ MenuDialogHandlerResult endscreenHandle2PFailed(s32 operation, struct menudialog
|
||||
|| g_Vars.stagenum == STAGE_CITRAINING) {
|
||||
menuPopDialog();
|
||||
} else {
|
||||
endscreen0f10d770();
|
||||
endscreenResetModels();
|
||||
menuPushDialog(&g_RetryMissionMenuDialog);
|
||||
}
|
||||
}
|
||||
@@ -1750,7 +1750,7 @@ void endscreenPushSolo(void)
|
||||
#endif
|
||||
{
|
||||
// Failed or aborted
|
||||
endscreen0f10d770();
|
||||
endscreenResetModels();
|
||||
menuPushRootDialog(&g_RetryMissionMenuDialog, MENUROOT_COOPCONTINUE);
|
||||
} else {
|
||||
// Completed
|
||||
@@ -1760,7 +1760,7 @@ void endscreenPushSolo(void)
|
||||
struct menudialogdef *definition = endscreenAdvance();
|
||||
|
||||
if (definition) {
|
||||
endscreen0f10d770();
|
||||
endscreenResetModels();
|
||||
menuPushRootDialog(definition, MENUROOT_COOPCONTINUE);
|
||||
}
|
||||
#endif
|
||||
|
||||
+42
-43
@@ -772,11 +772,11 @@ MenuDialogHandlerResult menudialog00103608(s32 operation, struct menudialogdef *
|
||||
{
|
||||
switch (operation) {
|
||||
case MENUOP_OPEN:
|
||||
g_Menus[g_MpPlayerNum].unk840.unk010 = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curparams = 0;
|
||||
|
||||
setupLoadBriefing(g_MissionConfig.stagenum,
|
||||
g_Menus[g_MpPlayerNum].unk840.unk004,
|
||||
g_Menus[g_MpPlayerNum].unk840.unk008, &g_Briefing);
|
||||
g_Menus[g_MpPlayerNum].menumodel.allocstart,
|
||||
g_Menus[g_MpPlayerNum].menumodel.alloclen, &g_Briefing);
|
||||
break;
|
||||
case MENUOP_CLOSE:
|
||||
langClearBank(g_Briefing.langbank);
|
||||
@@ -3779,51 +3779,50 @@ void func0f105948(s32 weaponnum)
|
||||
if (weaponHasFlag(weaponnum, WEAPONFLAG_HIDEMENUMODEL) == false && (u32)wantindex >= 0 && useindex >= 0) {
|
||||
weapon = weaponFindById(weaponnum);
|
||||
|
||||
g_Menus[g_MpPlayerNum].unk840.unk000 = 8;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk010 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk00c = weaponGetFileNum(weaponnum);
|
||||
g_Menus[g_MpPlayerNum].unk840.unk538 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk510 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk53c = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk514 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk540 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk518 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk550 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk528 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk52c = gunconfig[useindex][0];
|
||||
g_Menus[g_MpPlayerNum].unk840.unk530 = gunconfig[useindex][1];
|
||||
g_Menus[g_MpPlayerNum].unk840.unk534 = gunconfig[useindex][2];
|
||||
g_Menus[g_MpPlayerNum].unk840.unk548 = gunconfig[useindex][3];
|
||||
g_Menus[g_MpPlayerNum].unk840.unk520 = gunconfig[useindex][3]; // @bug? Wrong index?
|
||||
g_Menus[g_MpPlayerNum].menumodel.loaddelay = 8;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curparams = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newparams = MENUMODELPARAMS_SET_FILENUM(weaponGetFileNum(weaponnum));
|
||||
|
||||
func0f0f372c(&g_Menus[g_MpPlayerNum].unk840, 0, 0, 0, 0, 0, 0, gunconfig[useindex][4], 1);
|
||||
g_Menus[g_MpPlayerNum].menumodel.curposx = g_Menus[g_MpPlayerNum].menumodel.newposx = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curposy = g_Menus[g_MpPlayerNum].menumodel.newposy = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curposz = g_Menus[g_MpPlayerNum].menumodel.newposz = 0;
|
||||
|
||||
g_Menus[g_MpPlayerNum].unk840.unk51c = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.partvisibility = weapon->partvisibility;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk554 = -1;
|
||||
g_Menus[g_MpPlayerNum].menumodel.currotz = g_Menus[g_MpPlayerNum].menumodel.newrotz = 0;
|
||||
|
||||
g_Menus[g_MpPlayerNum].menumodel.displacex = gunconfig[useindex][0];
|
||||
g_Menus[g_MpPlayerNum].menumodel.displacey = gunconfig[useindex][1];
|
||||
g_Menus[g_MpPlayerNum].menumodel.displacez = gunconfig[useindex][2];
|
||||
|
||||
g_Menus[g_MpPlayerNum].menumodel.newrotx = gunconfig[useindex][3];
|
||||
g_Menus[g_MpPlayerNum].menumodel.currotx = gunconfig[useindex][3];
|
||||
|
||||
menuConfigureModel(&g_Menus[g_MpPlayerNum].menumodel, 0, 0, 0, 0, 0, 0, gunconfig[useindex][4], MENUMODELFLAG_HASSCALE);
|
||||
|
||||
g_Menus[g_MpPlayerNum].menumodel.curscale = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.partvisibility = weapon->partvisibility;
|
||||
g_Menus[g_MpPlayerNum].menumodel.zoom = -1;
|
||||
|
||||
// These indexes correspond to WEAPON_DISGUISE40 and WEAPON_DISGUISE41
|
||||
if (wantindex == 0x3e || wantindex == 0x3f) {
|
||||
if ((u32)wantindex == 0x3e) {
|
||||
g_Menus[g_MpPlayerNum].unk840.unk00c = 0x0a01ffff;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newparams = MENUMODELPARAMS_SET_MP_HEADBODY(MPHEAD_DARK_FROCK, MPBODY_DARKLAB);
|
||||
} else {
|
||||
g_Menus[g_MpPlayerNum].unk840.unk00c = 0x0400ffff;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newparams = MENUMODELPARAMS_SET_MP_HEADBODY(MPHEAD_DARK_COMBAT, MPBODY_DARK_AF1);
|
||||
}
|
||||
|
||||
g_Menus[g_MpPlayerNum].unk840.partvisibility = NULL;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk580 = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.partvisibility = NULL;
|
||||
g_Menus[g_MpPlayerNum].menumodel.removingpiece = false;
|
||||
|
||||
func0f0f372c(&g_Menus[g_MpPlayerNum].unk840, 0, 0, 0, 0, 0, 0, 1, 1);
|
||||
menuConfigureModel(&g_Menus[g_MpPlayerNum].menumodel, 0, 0, 0, 0, 0, 0, 1, MENUMODELFLAG_HASSCALE);
|
||||
|
||||
g_Menus[g_MpPlayerNum].unk840.unk578 = TICKS(60);
|
||||
g_Menus[g_MpPlayerNum].unk840.unk574 = TICKS(120);
|
||||
g_Menus[g_MpPlayerNum].unk840.unk54c = -0.2f;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk524 = -0.2f;
|
||||
g_Menus[g_MpPlayerNum].menumodel.rottimer60 = TICKS(60);
|
||||
g_Menus[g_MpPlayerNum].menumodel.zoomtimer60 = TICKS(120);
|
||||
g_Menus[g_MpPlayerNum].menumodel.curroty = g_Menus[g_MpPlayerNum].menumodel.newroty = -0.2f;
|
||||
}
|
||||
} else {
|
||||
g_Menus[g_MpPlayerNum].unk840.bodymodeldef = NULL;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk010 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk00c = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.bodymodeldef = NULL;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curparams = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newparams = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3831,11 +3830,11 @@ MenuDialogHandlerResult inventoryMenuDialog(s32 operation, struct menudialogdef
|
||||
{
|
||||
if (operation == MENUOP_TICK) {
|
||||
if (g_Menus[g_MpPlayerNum].curdialog && g_Menus[g_MpPlayerNum].curdialog->definition == dialogdef) {
|
||||
g_Menus[g_MpPlayerNum].unk840.unk574 -= g_Vars.diffframe60;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk54c = 18.849555969238f * g_20SecIntervalFrac;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk524 = 18.849555969238f * g_20SecIntervalFrac;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk528 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk550 = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.zoomtimer60 -= g_Vars.diffframe60;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newroty = 18.849555969238f * g_20SecIntervalFrac;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curroty = 18.849555969238f * g_20SecIntervalFrac;
|
||||
g_Menus[g_MpPlayerNum].menumodel.currotz = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newrotz = 0;
|
||||
|
||||
if (var80072d88 != g_InventoryWeapon) {
|
||||
func0f105948(g_InventoryWeapon);
|
||||
@@ -3843,9 +3842,9 @@ MenuDialogHandlerResult inventoryMenuDialog(s32 operation, struct menudialogdef
|
||||
}
|
||||
|
||||
if (g_InventoryWeapon == WEAPON_DISGUISE40 || g_InventoryWeapon == WEAPON_DISGUISE41) {
|
||||
g_Menus[g_MpPlayerNum].unk840.unk05c = ANIM_006A;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk578 = TICKS(60);
|
||||
g_Menus[g_MpPlayerNum].unk840.unk574 = TICKS(120);
|
||||
g_Menus[g_MpPlayerNum].menumodel.newanimnum = ANIM_006A;
|
||||
g_Menus[g_MpPlayerNum].menumodel.rottimer60 = TICKS(60);
|
||||
g_Menus[g_MpPlayerNum].menumodel.zoomtimer60 = TICKS(120);
|
||||
}
|
||||
} else {
|
||||
var80072d88 = 255;
|
||||
|
||||
+390
-395
File diff suppressed because it is too large
Load Diff
+9
-9
@@ -1401,7 +1401,7 @@ Gfx *menugfxRenderBgFailure(Gfx *gdl)
|
||||
|
||||
spb4 = M_TAU * g_20SecIntervalFrac;
|
||||
|
||||
var8009de98 = var8009de9c = 0;
|
||||
g_MenuProjectFromX = g_MenuProjectFromY = 0;
|
||||
|
||||
gdl = func0f0d4a3c(gdl, 0);
|
||||
|
||||
@@ -1578,8 +1578,8 @@ Gfx *menugfxRenderBgCone(Gfx *gdl)
|
||||
*/
|
||||
Gfx *func0f0e458c(Gfx *gdl)
|
||||
{
|
||||
var8009de98 = 0;
|
||||
var8009de9c = -20 - viGetHeight() / 2;
|
||||
g_MenuProjectFromX = 0;
|
||||
g_MenuProjectFromY = -20 - viGetHeight() / 2;
|
||||
|
||||
gdl = func0f0d4a3c(gdl, 0);
|
||||
|
||||
@@ -1590,15 +1590,15 @@ Gfx *func0f0e458c(Gfx *gdl)
|
||||
gdl = menugfxDrawPlane(gdl, -1000, viGetHeight() + 10, 2000, viGetHeight() + 10, 0xffff00af, 0xffff00af, MENUPLANE_05);
|
||||
gdl = func0f0d4c80(gdl);
|
||||
|
||||
var8009de98 = var8009de9c = 0;
|
||||
g_MenuProjectFromX = g_MenuProjectFromY = 0;
|
||||
|
||||
return gdl;
|
||||
}
|
||||
|
||||
Gfx *func0f0e46b0(Gfx *gdl, f32 arg1)
|
||||
{
|
||||
s32 y1 = (var8009de9c + 120) + arg1 * (0.0f - (var8009de9c + 120));
|
||||
s32 y2 = (var8009de9c + 120) + arg1 * (240.0f - (var8009de9c + 120));
|
||||
s32 y1 = (g_MenuProjectFromY + 120) + arg1 * (0.0f - (g_MenuProjectFromY + 120));
|
||||
s32 y2 = (g_MenuProjectFromY + 120) + arg1 * (240.0f - (g_MenuProjectFromY + 120));
|
||||
|
||||
gdl = func0f0d4a3c(gdl, 0);
|
||||
|
||||
@@ -1634,7 +1634,7 @@ Gfx *menugfxRenderBgFailureCopy(Gfx *gdl)
|
||||
|
||||
spb4 = M_TAU * g_20SecIntervalFrac;
|
||||
|
||||
var8009de98 = var8009de9c = 0;
|
||||
g_MenuProjectFromX = g_MenuProjectFromY = 0;
|
||||
|
||||
gdl = func0f0d4a3c(gdl, 0);
|
||||
|
||||
@@ -1809,8 +1809,8 @@ Gfx *menugfxRenderBgSuccess(Gfx *gdl)
|
||||
f0 = menuGetLinearIntervalFrac(10.0f);
|
||||
|
||||
// Draw the two haze layers
|
||||
var8009de98 = 0;
|
||||
var8009de9c = 0;
|
||||
g_MenuProjectFromX = 0;
|
||||
g_MenuProjectFromY = 0;
|
||||
|
||||
gdl = func0f0d4a3c(gdl, 0);
|
||||
|
||||
|
||||
+2
-2
@@ -2748,8 +2748,8 @@ char *menuitemScrollableGetText(u32 type)
|
||||
return challengeGetConfigDescription(g_Menus[g_MpPlayerNum].training.mpconfig);
|
||||
case DESCRIPTION_MPCHALLENGE:
|
||||
if (!challengeIsLoaded()) {
|
||||
g_Menus[g_MpPlayerNum].unk840.unk010 = 0x4fac5ace;
|
||||
challengeLoadAndStoreCurrent(g_Menus[g_MpPlayerNum].unk840.unk004, g_Menus[g_MpPlayerNum].unk840.unk008);
|
||||
g_Menus[g_MpPlayerNum].menumodel.curparams = 0x4fac5ace;
|
||||
challengeLoadAndStoreCurrent(g_Menus[g_MpPlayerNum].menumodel.allocstart, g_Menus[g_MpPlayerNum].menumodel.alloclen);
|
||||
}
|
||||
return challengeGetCurrentDescription();
|
||||
case DESCRIPTION_CHRBIO: return ciGetChrBioDescription();
|
||||
|
||||
+2
-2
@@ -690,9 +690,9 @@ void menuTick(void)
|
||||
if (g_Vars.currentplayer->gunctrl.gunmemowner == GUNMEMOWNER_INVMENU && g_Vars.stagenum != STAGE_CITRAINING) {
|
||||
g_MenuData.unk5d5_01 = true;
|
||||
|
||||
if (g_Menus[0].unk840.unk004) {
|
||||
if (g_Menus[0].menumodel.allocstart) {
|
||||
bgunFreeGunMem();
|
||||
g_Menus[0].unk840.unk004 = NULL;
|
||||
g_Menus[0].menumodel.allocstart = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+65
-59
@@ -550,35 +550,35 @@ MenuItemHandlerResult func0f179d6c(s32 operation, struct menuitem *item, union h
|
||||
/**
|
||||
* This function is used by both player body selection and bot body selection.
|
||||
*/
|
||||
MenuItemHandlerResult mpCharacterBodyMenuHandler(s32 operation, struct menuitem *item, union handlerdata *data, s32 mpheadnum, s32 mpbodynum, bool isplayer)
|
||||
MenuItemHandlerResult mpCharacterBodyMenuHandler(s32 operation, struct menuitem *item, union handlerdata *data, s32 mpbodynum, s32 mpheadnum, bool isplayer)
|
||||
{
|
||||
switch (operation) {
|
||||
case MENUOP_GETOPTIONCOUNT:
|
||||
data->carousel.value = mpGetNumBodies();
|
||||
break;
|
||||
case MENUOP_11:
|
||||
g_Menus[g_MpPlayerNum].unk840.unk05c = 0x1fc;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk00c = mpbodynum << 16 | 0xffff | mpheadnum << 24;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk574 += g_Vars.diffframe60;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newanimnum = ANIM_01FC;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newparams = MENUMODELPARAMS_SET_MP_HEADBODY(mpheadnum, mpbodynum);
|
||||
g_Menus[g_MpPlayerNum].menumodel.zoomtimer60 += g_Vars.diffframe60;
|
||||
|
||||
if (g_Menus[g_MpPlayerNum].unk840.unk574 > TICKS(480)) {
|
||||
g_Menus[g_MpPlayerNum].unk840.unk574 -= TICKS(480);
|
||||
if (g_Menus[g_MpPlayerNum].menumodel.zoomtimer60 > TICKS(480)) {
|
||||
g_Menus[g_MpPlayerNum].menumodel.zoomtimer60 -= TICKS(480);
|
||||
}
|
||||
|
||||
if (g_Menus[g_MpPlayerNum].unk840.unk578 > 0) {
|
||||
g_Menus[g_MpPlayerNum].unk840.unk578 -= g_Vars.diffframe60;
|
||||
if (g_Menus[g_MpPlayerNum].menumodel.rottimer60 > 0) {
|
||||
g_Menus[g_MpPlayerNum].menumodel.rottimer60 -= g_Vars.diffframe60;
|
||||
} else {
|
||||
#if VERSION >= VERSION_PAL_BETA
|
||||
f32 value = g_Menus[g_MpPlayerNum].unk840.unk524 + 0.01f * g_Vars.diffframe60freal;
|
||||
f32 value = g_Menus[g_MpPlayerNum].menumodel.curroty + 0.01f * g_Vars.diffframe60freal;
|
||||
#else
|
||||
f32 value = g_Menus[g_MpPlayerNum].unk840.unk524 + 0.01f * g_Vars.diffframe60f;
|
||||
f32 value = g_Menus[g_MpPlayerNum].menumodel.curroty + 0.01f * g_Vars.diffframe60f;
|
||||
#endif
|
||||
g_Menus[g_MpPlayerNum].unk840.unk54c = value;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk524 = value;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newroty = value;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curroty = value;
|
||||
}
|
||||
|
||||
g_Menus[g_MpPlayerNum].unk840.partvisibility = NULL;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk554 = 30;
|
||||
g_Menus[g_MpPlayerNum].menumodel.partvisibility = NULL;
|
||||
g_Menus[g_MpPlayerNum].menumodel.zoom = 30;
|
||||
break;
|
||||
case MENUOP_21:
|
||||
if (!challengeIsFeatureUnlocked(mpGetBodyRequiredFeature(data->carousel.value))) {
|
||||
@@ -587,34 +587,36 @@ MenuItemHandlerResult mpCharacterBodyMenuHandler(s32 operation, struct menuitem
|
||||
break;
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
case MENUOP_FOCUS:
|
||||
g_Menus[g_MpPlayerNum].unk840.unk000 = 3;
|
||||
g_Menus[g_MpPlayerNum].menumodel.loaddelay = 3;
|
||||
break;
|
||||
#endif
|
||||
case MENUOP_GETSELECTEDINDEX:
|
||||
data->carousel.value = mpheadnum;
|
||||
data->carousel.value = mpbodynum;
|
||||
break;
|
||||
case MENUOP_SET:
|
||||
case MENUOP_CHECKPREFOCUSED:
|
||||
g_Menus[g_MpPlayerNum].unk840.unk580 = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.removingpiece = false;
|
||||
|
||||
func0f0f372c(&g_Menus[g_MpPlayerNum].unk840, 0, 0, 0, 0, 0, 0, 1, 1);
|
||||
menuConfigureModel(&g_Menus[g_MpPlayerNum].menumodel, 0, 0, 0, 0, 0, 0, 1, MENUMODELFLAG_HASSCALE);
|
||||
|
||||
g_Menus[g_MpPlayerNum].unk840.unk510 = 8.2f;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk514 = -4.1f;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk53c = -4.1f;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curposx = 8.2f;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newposx = 8.2f;
|
||||
|
||||
g_Menus[g_MpPlayerNum].unk840.unk538 = 8.2f;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk51c = 0.002f;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk524 = -0.2f;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk54c = -0.2f;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curposy = -4.1f;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newposy = -4.1f;
|
||||
|
||||
g_Menus[g_MpPlayerNum].unk840.unk578 = TICKS(60);
|
||||
g_Menus[g_MpPlayerNum].unk840.unk574 = TICKS(120);
|
||||
g_Menus[g_MpPlayerNum].unk840.unk000 = 8;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curscale = 0.002f;
|
||||
|
||||
g_Menus[g_MpPlayerNum].menumodel.curroty = -0.2f;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newroty = -0.2f;
|
||||
|
||||
g_Menus[g_MpPlayerNum].menumodel.rottimer60 = TICKS(60);
|
||||
g_Menus[g_MpPlayerNum].menumodel.zoomtimer60 = TICKS(120);
|
||||
g_Menus[g_MpPlayerNum].menumodel.loaddelay = 8;
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
if (operation == MENUOP_CHECKPREFOCUSED) {
|
||||
g_Menus[g_MpPlayerNum].unk840.unk000 = 16;
|
||||
g_Menus[g_MpPlayerNum].menumodel.loaddelay = 16;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1879,30 +1881,30 @@ MenuItemHandlerResult mpCharacterHeadMenuHandler(s32 operation, struct menuitem
|
||||
break;
|
||||
case MENUOP_11:
|
||||
#if VERSION >= VERSION_PAL_BETA
|
||||
diffframe = g_Menus[g_MpPlayerNum].unk840.unk524 + 0.01f * g_Vars.diffframe60freal;
|
||||
diffframe = g_Menus[g_MpPlayerNum].menumodel.curroty + 0.01f * g_Vars.diffframe60freal;
|
||||
#else
|
||||
diffframe = g_Menus[g_MpPlayerNum].unk840.unk524 + 0.01f * g_Vars.diffframe60f;
|
||||
diffframe = g_Menus[g_MpPlayerNum].menumodel.curroty + 0.01f * g_Vars.diffframe60f;
|
||||
#endif
|
||||
|
||||
g_Menus[g_MpPlayerNum].unk840.unk54c = diffframe;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk524 = diffframe;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newroty = diffframe;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curroty = diffframe;
|
||||
|
||||
if (mpheadnum < mpGetNumHeads2()) {
|
||||
headnum = mpGetHeadId(mpheadnum);
|
||||
|
||||
g_Menus[g_MpPlayerNum].unk840.unk00c = g_HeadsAndBodies[headnum].filenum;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk5b1_01 = false;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newparams = MENUMODELPARAMS_SET_FILENUM(g_HeadsAndBodies[headnum].filenum);
|
||||
g_Menus[g_MpPlayerNum].menumodel.isperfecthead = false;
|
||||
} else {
|
||||
headnum = mpGetBeauHeadId(func0f14a9f8(mpheadnum - mpGetNumHeads2()));
|
||||
|
||||
g_Menus[g_MpPlayerNum].unk840.unk00c = g_HeadsAndBodies[headnum].filenum;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk5b1_01 = true;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk5b0 = mpheadnum - mpGetNumHeads2();
|
||||
g_Menus[g_MpPlayerNum].menumodel.newparams = MENUMODELPARAMS_SET_FILENUM(g_HeadsAndBodies[headnum].filenum);
|
||||
g_Menus[g_MpPlayerNum].menumodel.isperfecthead = true;
|
||||
g_Menus[g_MpPlayerNum].menumodel.perfectheadnum = mpheadnum - mpGetNumHeads2();
|
||||
}
|
||||
|
||||
g_Menus[g_MpPlayerNum].unk840.unk574 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.partvisibility = visibility;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk554 = 30;
|
||||
g_Menus[g_MpPlayerNum].menumodel.zoomtimer60 = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.partvisibility = visibility;
|
||||
g_Menus[g_MpPlayerNum].menumodel.zoom = 30;
|
||||
break;
|
||||
case MENUOP_21:
|
||||
if (!challengeIsFeatureUnlocked(mpGetHeadRequiredFeature(data->carousel.value))) {
|
||||
@@ -1915,22 +1917,26 @@ MenuItemHandlerResult mpCharacterHeadMenuHandler(s32 operation, struct menuitem
|
||||
case MENUOP_SET:
|
||||
case MENUOP_FOCUS:
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
g_Menus[g_MpPlayerNum].unk840.unk000 = 3;
|
||||
g_Menus[g_MpPlayerNum].menumodel.loaddelay = 3;
|
||||
#endif
|
||||
|
||||
mpGetNumHeads2();
|
||||
|
||||
func0f0f372c(&g_Menus[g_MpPlayerNum].unk840, 0, 0, 0, 0, 0, 0, 1, 1);
|
||||
menuConfigureModel(&g_Menus[g_MpPlayerNum].menumodel, 0, 0, 0, 0, 0, 0, 1, MENUMODELFLAG_HASSCALE);
|
||||
|
||||
g_Menus[g_MpPlayerNum].unk840.unk510 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk514 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk53c = -3;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk538 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk51c = 0.01f;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk524 = -0.3f;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk54c = -0.3f;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk544 = 1;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk554 = 30;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curposx = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curposy = 0;
|
||||
|
||||
g_Menus[g_MpPlayerNum].menumodel.newposx = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newposy = -3;
|
||||
|
||||
g_Menus[g_MpPlayerNum].menumodel.curscale = 0.01f;
|
||||
|
||||
g_Menus[g_MpPlayerNum].menumodel.curroty = -0.3f;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newroty = -0.3f;
|
||||
|
||||
g_Menus[g_MpPlayerNum].menumodel.newscale = 1;
|
||||
g_Menus[g_MpPlayerNum].menumodel.zoom = 30;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -4051,12 +4057,12 @@ MenuDialogHandlerResult menudialog0017e3fc(s32 operation, struct menudialogdef *
|
||||
{
|
||||
switch (operation) {
|
||||
case MENUOP_OPEN:
|
||||
g_Menus[g_MpPlayerNum].unk840.unk010 = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curparams = 0;
|
||||
|
||||
g_Menus[g_MpPlayerNum].training.mpconfig = challengeLoadBySlot(
|
||||
g_Menus[g_MpPlayerNum].training.unke1c,
|
||||
g_Menus[g_MpPlayerNum].unk840.unk004,
|
||||
g_Menus[g_MpPlayerNum].unk840.unk008);
|
||||
g_Menus[g_MpPlayerNum].menumodel.allocstart,
|
||||
g_Menus[g_MpPlayerNum].menumodel.alloclen);
|
||||
break;
|
||||
case MENUOP_CLOSE:
|
||||
break;
|
||||
@@ -4628,16 +4634,16 @@ MenuDialogHandlerResult mpCombatChallengesMenuDialog(s32 operation, struct menud
|
||||
&& g_Menus[g_MpPlayerNum].curdialog
|
||||
&& g_Menus[g_MpPlayerNum].curdialog->definition == dialogdef
|
||||
&& !challengeIsLoaded()) {
|
||||
g_Menus[g_MpPlayerNum].unk840.unk010 = 0x4fac5ace;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curparams = 0x4fac5ace;
|
||||
|
||||
challengeLoadAndStoreCurrent(
|
||||
g_Menus[g_MpPlayerNum].unk840.unk004,
|
||||
g_Menus[g_MpPlayerNum].unk840.unk008);
|
||||
g_Menus[g_MpPlayerNum].menumodel.allocstart,
|
||||
g_Menus[g_MpPlayerNum].menumodel.alloclen);
|
||||
}
|
||||
}
|
||||
|
||||
if (operation == MENUOP_CLOSE) {
|
||||
if (g_Menus[g_MpPlayerNum].unk840.unk010 == 0x4fac5ace) {
|
||||
if (g_Menus[g_MpPlayerNum].menumodel.curparams == 0x4fac5ace) {
|
||||
challengeUnsetCurrent();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,8 @@ Vp var80070f10;
|
||||
|
||||
s32 var8009de90;
|
||||
s32 var8009de94;
|
||||
s32 var8009de98;
|
||||
s32 var8009de9c;
|
||||
s32 g_MenuProjectFromX;
|
||||
s32 g_MenuProjectFromY;
|
||||
|
||||
void func0f0d4690(Mtxf *mtx)
|
||||
{
|
||||
@@ -317,8 +317,8 @@ Gfx *menugfxDrawPlane(Gfx *gdl, s32 x1, s32 y1, s32 x2, s32 y2, u32 colour1, u32
|
||||
vertices[1].y = y2;
|
||||
vertices[1].z = -10;
|
||||
|
||||
tmp1 = (f32) var8009de98 * a1 / scale;
|
||||
tmp2 = (f32) var8009de9c * a1 / scale;
|
||||
tmp1 = (f32) g_MenuProjectFromX * a1 / scale;
|
||||
tmp2 = (f32) g_MenuProjectFromY * a1 / scale;
|
||||
|
||||
vertices[2].x = vertices[0].v[0] + (s16) tmp1;
|
||||
vertices[2].y = vertices[0].v[1] + (s16) tmp2;
|
||||
|
||||
+77
-93
@@ -229,11 +229,9 @@ MenuDialogHandlerResult frTrainingInfoMenuDialog(s32 operation, struct menudialo
|
||||
break;
|
||||
case MENUOP_TICK:
|
||||
if (g_Menus[g_MpPlayerNum].curdialog && g_Menus[g_MpPlayerNum].curdialog->definition == dialogdef) {
|
||||
g_Menus[g_MpPlayerNum].unk840.unk574 -= g_Vars.diffframe60;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk54c = 18.849555969238f * g_20SecIntervalFrac;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk524 = 18.849555969238f * g_20SecIntervalFrac;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk528 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk550 = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.zoomtimer60 -= g_Vars.diffframe60;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curroty = g_Menus[g_MpPlayerNum].menumodel.newroty = 18.849555969238f * g_20SecIntervalFrac;
|
||||
g_Menus[g_MpPlayerNum].menumodel.currotz = g_Menus[g_MpPlayerNum].menumodel.newrotz = 0;
|
||||
}
|
||||
break;
|
||||
case MENUOP_CLOSE:
|
||||
@@ -1538,14 +1536,14 @@ MenuDialogHandlerResult ciCharacterProfileMenuDialog(s32 operation, struct menud
|
||||
case MENUOP_OPEN:
|
||||
if (bodynum == BODY_DRCAROLL) {
|
||||
scale = 0.7f;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk554 = -1;
|
||||
g_Menus[g_MpPlayerNum].menumodel.zoom = -1;
|
||||
} else {
|
||||
g_Menus[g_MpPlayerNum].unk840.unk554 = 30;
|
||||
g_Menus[g_MpPlayerNum].menumodel.zoom = 30;
|
||||
scale = 1.0f;
|
||||
}
|
||||
|
||||
g_Menus[g_MpPlayerNum].unk840.unk574 = TICKS(120);
|
||||
g_Menus[g_MpPlayerNum].unk840.unk580 = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.zoomtimer60 = TICKS(120);
|
||||
g_Menus[g_MpPlayerNum].menumodel.removingpiece = false;
|
||||
|
||||
#if VERSION == VERSION_PAL_FINAL
|
||||
if (g_ViRes != VIRES_HI) {
|
||||
@@ -1585,14 +1583,15 @@ MenuDialogHandlerResult ciCharacterProfileMenuDialog(s32 operation, struct menud
|
||||
scale = 0.8f;
|
||||
}
|
||||
|
||||
func0f0f372c(&g_Menus[g_MpPlayerNum].unk840, x, y, 0, 0, 0, 0, scale, 7);
|
||||
menuConfigureModel(&g_Menus[g_MpPlayerNum].menumodel, x, y, 0, 0, 0, 0, scale,
|
||||
MENUMODELFLAG_HASSCALE | MENUMODELFLAG_HASPOSITION | MENUMODELFLAG_HASROTATION);
|
||||
|
||||
g_Menus[g_MpPlayerNum].unk840.unk510 = 8.2f;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk514 = -4.1f;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk51c = 0.00393f;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk524 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk54c = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk578 = TICKS(60);
|
||||
g_Menus[g_MpPlayerNum].menumodel.curposx = 8.2f;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curposy = -4.1f;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curscale = 0.00393f;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curroty = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newroty = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.rottimer60 = TICKS(60);
|
||||
break;
|
||||
case MENUOP_CLOSE:
|
||||
break;
|
||||
@@ -1612,10 +1611,10 @@ MenuDialogHandlerResult ciCharacterProfileMenuDialog(s32 operation, struct menud
|
||||
{ 255 },
|
||||
};
|
||||
|
||||
g_Menus[g_MpPlayerNum].unk840.partvisibility = vis;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk05c = 318;
|
||||
g_Menus[g_MpPlayerNum].menumodel.partvisibility = vis;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newanimnum = ANIM_013E;
|
||||
} else {
|
||||
g_Menus[g_MpPlayerNum].unk840.unk05c = 106;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newanimnum = ANIM_006A;
|
||||
}
|
||||
|
||||
if (bodynum == BODY_THEKING) {
|
||||
@@ -1624,23 +1623,21 @@ MenuDialogHandlerResult ciCharacterProfileMenuDialog(s32 operation, struct menud
|
||||
{ 255 },
|
||||
};
|
||||
|
||||
g_Menus[g_MpPlayerNum].unk840.partvisibility = vis;
|
||||
g_Menus[g_MpPlayerNum].menumodel.partvisibility = vis;
|
||||
}
|
||||
|
||||
g_Menus[g_MpPlayerNum].unk840.unk00c = 0xffff;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk00c |= (mpheadnum << 16);
|
||||
g_Menus[g_MpPlayerNum].unk840.unk00c |= (mpbodynum << 24);
|
||||
g_Menus[g_MpPlayerNum].menumodel.newparams = MENUMODELPARAMS_SET_MP_HEADBODY(mpheadnum, mpbodynum);
|
||||
|
||||
if (g_Menus[g_MpPlayerNum].unk840.unk578 > 0) {
|
||||
g_Menus[g_MpPlayerNum].unk840.unk578 -= g_Vars.diffframe60;
|
||||
if (g_Menus[g_MpPlayerNum].menumodel.rottimer60 > 0) {
|
||||
g_Menus[g_MpPlayerNum].menumodel.rottimer60 -= g_Vars.diffframe60;
|
||||
} else {
|
||||
#if VERSION >= VERSION_PAL_BETA
|
||||
f32 tmp = g_Menus[g_MpPlayerNum].unk840.unk524 + 0.01f * g_Vars.diffframe60freal;
|
||||
f32 roty = g_Menus[g_MpPlayerNum].menumodel.curroty + 0.01f * g_Vars.diffframe60freal;
|
||||
#else
|
||||
f32 tmp = g_Menus[g_MpPlayerNum].unk840.unk524 + 0.01f * g_Vars.diffframe60f;
|
||||
f32 roty = g_Menus[g_MpPlayerNum].menumodel.curroty + 0.01f * g_Vars.diffframe60f;
|
||||
#endif
|
||||
g_Menus[g_MpPlayerNum].unk840.unk54c = tmp;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk524 = tmp;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newroty = roty;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curroty = roty;
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -1887,58 +1884,54 @@ MenuDialogHandlerResult dtTrainingDetailsMenuDialog(s32 operation, struct menudi
|
||||
#if VERSION == VERSION_PAL_FINAL
|
||||
if (g_ViRes == VIRES_HI) {
|
||||
if (optionsGetScreenRatio() == SCREENRATIO_16_9) {
|
||||
g_Menus[g_MpPlayerNum].unk840.unk538 = 84;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk510 = 84;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newposx = 84;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curposx = 84;
|
||||
} else {
|
||||
g_Menus[g_MpPlayerNum].unk840.unk538 = 104;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk510 = 104;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newposx = 104;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curposx = 104;
|
||||
}
|
||||
} else {
|
||||
if (optionsGetScreenRatio() == SCREENRATIO_16_9) {
|
||||
g_Menus[g_MpPlayerNum].unk840.unk538 = 64;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk510 = 64;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newposx = 64;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curposx = 64;
|
||||
} else {
|
||||
g_Menus[g_MpPlayerNum].unk840.unk538 = 84;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk510 = 84;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newposx = 84;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curposx = 84;
|
||||
}
|
||||
}
|
||||
#elif VERSION == VERSION_PAL_BETA
|
||||
if (optionsGetScreenRatio() == SCREENRATIO_16_9) {
|
||||
g_Menus[g_MpPlayerNum].unk840.unk538 = 64;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk510 = 64;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newposx = 64;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curposx = 64;
|
||||
} else {
|
||||
g_Menus[g_MpPlayerNum].unk840.unk538 = 84;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk510 = 84;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newposx = 84;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curposx = 84;
|
||||
}
|
||||
#else
|
||||
if (optionsGetScreenRatio() == SCREENRATIO_16_9) {
|
||||
g_Menus[g_MpPlayerNum].unk840.unk538 = 70;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk510 = 70;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newposx = 70;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curposx = 70;
|
||||
} else {
|
||||
g_Menus[g_MpPlayerNum].unk840.unk538 = 90;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk510 = 90;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newposx = 90;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curposx = 90;
|
||||
}
|
||||
#endif
|
||||
|
||||
g_Menus[g_MpPlayerNum].unk840.unk544 /= 2.5f;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newscale /= 2.5f;
|
||||
}
|
||||
break;
|
||||
case MENUOP_CLOSE:
|
||||
break;
|
||||
case MENUOP_TICK:
|
||||
if (g_Menus[g_MpPlayerNum].curdialog && g_Menus[g_MpPlayerNum].curdialog->definition == dialogdef) {
|
||||
s32 weaponnum = dtGetWeaponByDeviceIndex(dtGetIndexBySlot(g_DtSlot));
|
||||
|
||||
if (weaponnum == WEAPON_DISGUISE41) {
|
||||
g_Menus[g_MpPlayerNum].unk840.unk05c = ANIM_006A;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk578 = TICKS(60);
|
||||
g_Menus[g_MpPlayerNum].unk840.unk574 = TICKS(120);
|
||||
if (dtGetWeaponByDeviceIndex(dtGetIndexBySlot(g_DtSlot)) == WEAPON_DISGUISE41) {
|
||||
g_Menus[g_MpPlayerNum].menumodel.newanimnum = ANIM_006A;
|
||||
g_Menus[g_MpPlayerNum].menumodel.rottimer60 = TICKS(60);
|
||||
g_Menus[g_MpPlayerNum].menumodel.zoomtimer60 = TICKS(120);
|
||||
}
|
||||
|
||||
g_Menus[g_MpPlayerNum].unk840.unk54c = 18.849555969238f * g_20SecIntervalFrac;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk524 = 18.849555969238f * g_20SecIntervalFrac;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk550 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk528 = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curroty = g_Menus[g_MpPlayerNum].menumodel.newroty = 18.849555969238f * g_20SecIntervalFrac;
|
||||
g_Menus[g_MpPlayerNum].menumodel.currotz = g_Menus[g_MpPlayerNum].menumodel.newrotz = 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -2651,15 +2644,11 @@ MenuDialogHandlerResult ciHangarHolographMenuDialog(s32 operation, struct menudi
|
||||
|
||||
switch (operation) {
|
||||
case MENUOP_OPEN:
|
||||
g_Menus[g_MpPlayerNum].unk840.unk548 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk520 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk54c = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk524 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk538 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk510 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk53c = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk514 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk51c = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.currotx = g_Menus[g_MpPlayerNum].menumodel.newrotx = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curroty = g_Menus[g_MpPlayerNum].menumodel.newroty = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curposx = g_Menus[g_MpPlayerNum].menumodel.newposx = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curposy = g_Menus[g_MpPlayerNum].menumodel.newposy = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curscale = 0;
|
||||
break;
|
||||
case MENUOP_CLOSE:
|
||||
break;
|
||||
@@ -2675,29 +2664,24 @@ MenuDialogHandlerResult ciHangarHolographMenuDialog(s32 operation, struct menudi
|
||||
offset = items[index].y_offset;
|
||||
size = items[index].size * 0.001f;
|
||||
|
||||
g_Menus[g_MpPlayerNum].unk840.unk544 = size;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk514 = offset;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk53c = offset;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newscale = size;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curposy = offset;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newposy = offset;
|
||||
|
||||
if (g_Menus[g_MpPlayerNum].unk840.unk00c != items[index].fileid) {
|
||||
g_Menus[g_MpPlayerNum].unk840.unk000 = 8;
|
||||
if (g_Menus[g_MpPlayerNum].menumodel.newparams != items[index].fileid) {
|
||||
g_Menus[g_MpPlayerNum].menumodel.loaddelay = 8;
|
||||
}
|
||||
|
||||
g_Menus[g_MpPlayerNum].unk840.unk00c = items[index].fileid;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk54c = g_Menus[g_MpPlayerNum].unk840.unk524 + 0.01f * g_Vars.diffframe60freal;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk524 += 0.01f * g_Vars.diffframe60freal;
|
||||
g_Menus[g_MpPlayerNum].unk840.partvisibility = g_BioPartVisibility;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newparams = MENUMODELPARAMS_SET_FILENUM(items[index].fileid);
|
||||
g_Menus[g_MpPlayerNum].menumodel.newroty = g_Menus[g_MpPlayerNum].menumodel.curroty + 0.01f * g_Vars.diffframe60freal;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curroty += 0.01f * g_Vars.diffframe60freal;
|
||||
g_Menus[g_MpPlayerNum].menumodel.partvisibility = g_BioPartVisibility;
|
||||
} else {
|
||||
g_Menus[g_MpPlayerNum].unk840.unk548 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk520 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk54c = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk524 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk538 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk510 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk53c = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk514 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk544 = 0;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk51c = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.currotx = g_Menus[g_MpPlayerNum].menumodel.newrotx = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curroty = g_Menus[g_MpPlayerNum].menumodel.newroty = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curposx = g_Menus[g_MpPlayerNum].menumodel.newposx = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curposy = g_Menus[g_MpPlayerNum].menumodel.newposy = 0;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curscale = g_Menus[g_MpPlayerNum].menumodel.newscale = 0;
|
||||
}
|
||||
#else
|
||||
if (g_Menus[g_MpPlayerNum].curdialog->definition == dialogdef) {
|
||||
@@ -2709,18 +2693,18 @@ MenuDialogHandlerResult ciHangarHolographMenuDialog(s32 operation, struct menudi
|
||||
offset = items[index].y_offset;
|
||||
size = items[index].size * 0.001f;
|
||||
|
||||
g_Menus[g_MpPlayerNum].unk840.unk544 = size;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk514 = offset;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk53c = offset;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk00c = items[index].fileid;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newscale = size;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curposy = offset;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newposy = offset;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newparams = MENUMODELPARAMS_SET_FILENUM(items[index].fileid);
|
||||
#if VERSION >= VERSION_PAL_BETA
|
||||
g_Menus[g_MpPlayerNum].unk840.unk54c = g_Menus[g_MpPlayerNum].unk840.unk524 + 0.01f * g_Vars.diffframe60freal;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk524 += 0.01f * g_Vars.diffframe60freal;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newroty = g_Menus[g_MpPlayerNum].menumodel.curroty + 0.01f * g_Vars.diffframe60freal;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curroty += 0.01f * g_Vars.diffframe60freal;
|
||||
#else
|
||||
g_Menus[g_MpPlayerNum].unk840.unk54c = g_Menus[g_MpPlayerNum].unk840.unk524 + 0.01f * g_Vars.diffframe60f;
|
||||
g_Menus[g_MpPlayerNum].unk840.unk524 += 0.01f * g_Vars.diffframe60f;
|
||||
g_Menus[g_MpPlayerNum].menumodel.newroty = g_Menus[g_MpPlayerNum].menumodel.curroty + 0.01f * g_Vars.diffframe60f;
|
||||
g_Menus[g_MpPlayerNum].menumodel.curroty += 0.01f * g_Vars.diffframe60f;
|
||||
#endif
|
||||
g_Menus[g_MpPlayerNum].unk840.partvisibility = g_BioPartVisibility;
|
||||
g_Menus[g_MpPlayerNum].menumodel.partvisibility = g_BioPartVisibility;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
+2
-2
@@ -163,8 +163,8 @@ extern s16 g_SpawnPoints[];
|
||||
extern s32 g_NumSpawnPoints;
|
||||
extern s32 var8009de90;
|
||||
extern s32 var8009de94;
|
||||
extern s32 var8009de98;
|
||||
extern s32 var8009de9c;
|
||||
extern s32 g_MenuProjectFromX;
|
||||
extern s32 g_MenuProjectFromY;
|
||||
extern u8 g_MpSelectedPlayersForStats[MAX_PLAYERS];
|
||||
extern char g_CheatMarqueeString[];
|
||||
extern u8 *g_BlurBuffer;
|
||||
|
||||
@@ -1683,6 +1683,25 @@
|
||||
#define MENUITEMTYPE_CONTROLLER 0x19
|
||||
#define MENUITEMTYPE_END 0x1a
|
||||
|
||||
#define MENUMODELFLAG_HASSCALE 0x01
|
||||
#define MENUMODELFLAG_HASPOSITION 0x02
|
||||
#define MENUMODELFLAG_HASROTATION 0x04
|
||||
|
||||
#define MENUMODELPARAMS_HAS_MASTER_HEADBODY(params) (((params) & 0x80000000) != 0)
|
||||
#define MENUMODELPARAMS_GET_MASTER_HEADNUM(params) ((params) & 0x3ff)
|
||||
#define MENUMODELPARAMS_GET_MASTER_BODYNUM(params) (((params) & 0xffc00) >> 10)
|
||||
#define MENUMODELPARAMS_GET_MP_HEADNUM(params) (((params) >> 16) & 0xff)
|
||||
#define MENUMODELPARAMS_GET_MP_BODYNUM(params) (((params) >> 24) & 0xff)
|
||||
#define MENUMODELPARAMS_GET_FILENUM(params) ((params) & 0xffff)
|
||||
#define MENUMODELPARAMS_SET_FILENUM(filenum) (filenum)
|
||||
#define MENUMODELPARAMS_SET_MP_HEADBODY(mpheadnum, mpbodynum) (0xffff | ((mpheadnum) << 16) | ((mpbodynum) << 24))
|
||||
|
||||
#define MENUMODELTYPE_DEFAULT 0
|
||||
#define MENUMODELTYPE_HUDPIECE 1
|
||||
#define MENUMODELTYPE_2 2
|
||||
#define MENUMODELTYPE_3 3
|
||||
#define MENUMODELTYPE_CREDITSLOGO 4
|
||||
|
||||
#define MENUOP_GETOPTIONCOUNT 1
|
||||
#define MENUOP_GETOPTGROUPCOUNT 2
|
||||
#define MENUOP_GETOPTIONTEXT 3
|
||||
|
||||
@@ -28,7 +28,7 @@ char *endscreenMenuTextCurrentStageName3(struct menuitem *item);
|
||||
char *endscreenMenuTitleStageFailed(struct menuitem *item);
|
||||
char *endscreenMenuTextMissionTime(struct menuitem *item);
|
||||
struct menudialogdef *endscreenAdvance(void);
|
||||
void endscreen0f10d770(void);
|
||||
void endscreenResetModels(void);
|
||||
void endscreenContinue(s32 context);
|
||||
char *endscreenMenuTextTimedCheatName(struct menuitem *item);
|
||||
char *endscreenMenuTextCompletionCheatName(struct menuitem *item);
|
||||
|
||||
@@ -60,9 +60,9 @@ void menuCloseDialog(void);
|
||||
void menuUpdateCurFrame(void);
|
||||
void menuPopDialog(void);
|
||||
void func0f0f3704(struct menudialogdef *dialogdef);
|
||||
void func0f0f372c(struct menu840 *arg0, f32 x, f32 y, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, u8 flags);
|
||||
void func0f0f37a4(struct menu840 *arg0);
|
||||
Gfx *menuRenderModels(Gfx *gdl, struct menu840 *arg1, s32 arg2);
|
||||
void menuConfigureModel(struct menumodel *menumodel, f32 x, f32 y, f32 z, f32 rotx, f32 roty, f32 rotz, f32 scale, u8 flags);
|
||||
void menuUnsetModel(struct menumodel *menumodel);
|
||||
Gfx *menuRenderModel(Gfx *gdl, struct menumodel *menumodel, s32 modeltype);
|
||||
void menuGetTeamTitlebarColours(u32 *top, u32 *middle, u32 *bottom);
|
||||
Gfx *menuApplyScissor(Gfx *gdl);
|
||||
Gfx *dialogRender(Gfx *gdl, struct menudialog *dialog, struct menu *menu, bool lightweight);
|
||||
@@ -85,7 +85,7 @@ void menuPushRootDialog(struct menudialogdef *dialogdef, s32 arg1);
|
||||
void func0f0f85e0(struct menudialogdef *dialogdef, s32 root);
|
||||
Gfx *menuRenderDialog(Gfx *gdl, struct menudialog *dialog, struct menu *menu, bool lightweight);
|
||||
Gfx *menuRenderDialogs(Gfx *gdl);
|
||||
void func0f0f8bb4(struct menu840 *arg0, u32 arg1, u32 arg2);
|
||||
void menuResetModel(struct menumodel *menumodel, u32 allocationlen, bool allocate);
|
||||
void menuReset(void);
|
||||
void menuSwipe(s32 direction);
|
||||
void dialogTick(struct menudialog *dialog, struct menuinputs *inputs, u32 tickflags);
|
||||
|
||||
@@ -9,7 +9,7 @@ s16 mpChooseRandomStage(void);
|
||||
MenuItemHandlerResult mpArenaMenuHandler(s32 operation, struct menuitem *item, union handlerdata *data);
|
||||
char *mpMenuTextWeaponNameForSlot(struct menuitem *item);
|
||||
char *mpMenuTextSetupName(struct menuitem *item);
|
||||
MenuItemHandlerResult mpCharacterBodyMenuHandler(s32 operation, struct menuitem *item, union handlerdata *data, s32 mpheadnum, s32 mpbodynum, bool isplayer);
|
||||
MenuItemHandlerResult mpCharacterBodyMenuHandler(s32 operation, struct menuitem *item, union handlerdata *data, s32 mpbodynum, s32 mpheadnum, bool isplayer);
|
||||
MenuDialogHandlerResult menudialog0017a174(s32 operation, struct menudialogdef *dialogdef, union handlerdata *data);
|
||||
MenuItemHandlerResult mpChallengesListHandler(s32 operation, struct menuitem *item, union handlerdata *data);
|
||||
char *mpMenuTextKills(struct menuitem *item);
|
||||
|
||||
+61
-62
@@ -3815,71 +3815,70 @@ struct perfectheadtexturelist {
|
||||
struct textureconfig selectedtexture;
|
||||
};
|
||||
|
||||
struct menu840 {
|
||||
/*0x000*/ u8 unk000;
|
||||
/*0x001*/ u8 unk001;
|
||||
struct menumodel {
|
||||
/*0x000*/ u8 loaddelay;
|
||||
/*0x002*/ s16 headnum;
|
||||
/*0x004*/ u8 *unk004;
|
||||
/*0x008*/ u32 unk008;
|
||||
/*0x00c*/ u32 unk00c;
|
||||
/*0x010*/ s32 unk010;
|
||||
/*0x014*/ Mtxf unk014;
|
||||
/*0x004*/ u8 *allocstart;
|
||||
/*0x008*/ u32 alloclen;
|
||||
/*0x00c*/ u32 newparams;
|
||||
/*0x010*/ u32 curparams;
|
||||
/*0x014*/ Mtxf mtx;
|
||||
/*0x054*/ struct modeldef *bodymodeldef;
|
||||
/*0x058*/ struct modeldef *headmodeldef;
|
||||
/*0x05c*/ s16 unk05c;
|
||||
/*0x05e*/ s16 unk05e;
|
||||
/*0x05c*/ s16 newanimnum;
|
||||
/*0x05e*/ s16 curanimnum;
|
||||
/*0x060*/ struct model bodymodel;
|
||||
/*0x084*/ struct anim bodyanim;
|
||||
/*0x110*/ u32 unk110[256];
|
||||
/*0x510*/ f32 unk510;
|
||||
/*0x514*/ f32 unk514;
|
||||
/*0x518*/ f32 unk518;
|
||||
/*0x51c*/ f32 unk51c;
|
||||
/*0x520*/ f32 unk520;
|
||||
/*0x524*/ f32 unk524;
|
||||
/*0x528*/ f32 unk528;
|
||||
/*0x52c*/ f32 unk52c;
|
||||
/*0x530*/ f32 unk530;
|
||||
/*0x534*/ f32 unk534;
|
||||
/*0x538*/ f32 unk538;
|
||||
/*0x53c*/ f32 unk53c;
|
||||
/*0x540*/ f32 unk540;
|
||||
/*0x544*/ f32 unk544;
|
||||
/*0x548*/ f32 unk548;
|
||||
/*0x54c*/ f32 unk54c;
|
||||
/*0x550*/ f32 unk550;
|
||||
/*0x554*/ f32 unk554;
|
||||
/*0x558*/ f32 unk558;
|
||||
/*0x55c*/ f32 unk55c;
|
||||
/*0x560*/ s16 unk560;
|
||||
/*0x564*/ f32 unk564;
|
||||
/*0x568*/ u8 unk568;
|
||||
/*0x110*/ u32 rwdata[256];
|
||||
/*0x510*/ f32 curposx;
|
||||
/*0x514*/ f32 curposy;
|
||||
/*0x518*/ f32 curposz;
|
||||
/*0x51c*/ f32 curscale;
|
||||
/*0x520*/ f32 currotx;
|
||||
/*0x524*/ f32 curroty;
|
||||
/*0x528*/ f32 currotz;
|
||||
/*0x52c*/ f32 displacex;
|
||||
/*0x530*/ f32 displacey;
|
||||
/*0x534*/ f32 displacez;
|
||||
/*0x538*/ f32 newposx;
|
||||
/*0x53c*/ f32 newposy;
|
||||
/*0x540*/ f32 newposz;
|
||||
/*0x544*/ f32 newscale;
|
||||
/*0x548*/ f32 newrotx;
|
||||
/*0x54c*/ f32 newroty;
|
||||
/*0x550*/ f32 newrotz;
|
||||
/*0x554*/ f32 zoom; // character selection: far = 100, near = 370
|
||||
/*0x558*/ f32 unk558; // unused
|
||||
/*0x55c*/ f32 unk55c; // unused
|
||||
/*0x560*/ s16 unk560; // unused
|
||||
/*0x564*/ f32 configurefrac;
|
||||
/*0x568*/ u8 flags;
|
||||
/*0x56a*/ s16 bodynum;
|
||||
/*0x56c*/ u32 unk56c;
|
||||
/*0x570*/ u32 unk570;
|
||||
/*0x574*/ s32 unk574;
|
||||
/*0x578*/ s32 unk578;
|
||||
/*0x57c*/ u32 unk57c;
|
||||
/*0x580*/ u32 unk580;
|
||||
/*0x584*/ u32 unk584;
|
||||
/*0x588*/ u32 unk588;
|
||||
/*0x58c*/ u32 unk58c;
|
||||
/*0x590*/ u32 unk590;
|
||||
/*0x594*/ u32 unk594;
|
||||
/*0x598*/ u32 unk598;
|
||||
/*0x59c*/ u32 unk59c;
|
||||
/*0x5a0*/ u32 unk5a0;
|
||||
/*0x5a4*/ u32 unk5a4;
|
||||
/*0x5a8*/ u32 unk5a8;
|
||||
/*0x5ac*/ u32 unk5ac;
|
||||
/*0x5b0*/ u8 unk5b0;
|
||||
/*0x5b1*/ u8 unk5b1_01 : 1;
|
||||
/*0x5b1*/ u8 unk5b1_02 : 1;
|
||||
/*0x5b1*/ u8 unk5b1_03 : 1;
|
||||
/*0x5b1*/ u8 unk5b1_04 : 1;
|
||||
/*0x5b1*/ u8 unk5b1_05 : 1;
|
||||
/*0x5b1*/ u8 unk5b1_06 : 1;
|
||||
/*0x5b1*/ u8 unk5b1_07 : 1;
|
||||
/*0x56c*/ s32 unk56c; // unused
|
||||
/*0x570*/ s32 unk570; // unused
|
||||
/*0x574*/ s32 zoomtimer60;
|
||||
/*0x578*/ s32 rottimer60;
|
||||
/*0x57c*/ s32 unk57c; // unused
|
||||
/*0x580*/ bool removingpiece;
|
||||
/*0x584*/ s32 unk584; // unused
|
||||
/*0x588*/ s32 unk588; // unused
|
||||
/*0x58c*/ s32 unk58c; // unused
|
||||
/*0x590*/ s32 unk590; // unused
|
||||
/*0x594*/ s32 unk594; // unused
|
||||
/*0x598*/ s32 unk598; // unused
|
||||
/*0x59c*/ s32 unk59c; // unused
|
||||
/*0x5a0*/ s32 unk5a0; // unused
|
||||
/*0x5a4*/ s32 unk5a4; // unused
|
||||
/*0x5a8*/ s32 unk5a8; // unused
|
||||
/*0x5ac*/ s32 unk5ac; // unused
|
||||
/*0x5b0*/ u8 perfectheadnum;
|
||||
/*0x5b1*/ u8 isperfecthead : 1;
|
||||
/*0x5b1*/ u8 unk5b1_02 : 1; // unused
|
||||
/*0x5b1*/ u8 unk5b1_03 : 1; // unused
|
||||
/*0x5b1*/ u8 reverseanim : 1;
|
||||
/*0x5b1*/ u8 configuring : 1;
|
||||
/*0x5b1*/ u8 unk5b1_06 : 1; // unused
|
||||
/*0x5b1*/ u8 drawbehinddialog : 1;
|
||||
/*0x5b4*/ struct modelpartvisibility *partvisibility;
|
||||
};
|
||||
|
||||
@@ -3924,7 +3923,7 @@ struct menu {
|
||||
/*0x83d*/ u8 unk83d;
|
||||
/*0x83e*/ u8 unk83e;
|
||||
/*0x83f*/ u8 unk83f;
|
||||
/*0x840*/ struct menu840 unk840;
|
||||
/*0x840*/ struct menumodel menumodel;
|
||||
/*0xdf8*/ s8 bannernum;
|
||||
/*0xdfc*/ struct menudfc unkdfc[4];
|
||||
|
||||
@@ -4738,11 +4737,11 @@ struct menudata {
|
||||
/*0x016*/ u8 screenshottimer;
|
||||
/*0x017*/ u8 playerjoinalpha[MAX_PLAYERS];
|
||||
/*0x01b*/ s8 bannernum;
|
||||
/*0x01c*/ struct menu840 unk01c;
|
||||
/*0x01c*/ struct menumodel hudpiece;
|
||||
/*0x5d4*/ u8 unk5d4;
|
||||
/*0x5d5*/ u8 unk5d5_01 : 1;
|
||||
/*0x5d5*/ u8 unk5d5_02 : 1;
|
||||
/*0x5d5*/ u8 unk5d5_03 : 1;
|
||||
/*0x5d5*/ u8 usezbuf : 1;
|
||||
/*0x5d5*/ u8 unk5d5_04 : 1;
|
||||
/*0x5d5*/ u8 unk5d5_05 : 1;
|
||||
/*0x5d5*/ u8 unk5d5_06 : 1;
|
||||
|
||||
Reference in New Issue
Block a user