Decompile cameraDoAnimation
This commit is contained in:
parent
989f0139eb
commit
e2eb20ce23
|
|
@ -5142,7 +5142,7 @@ glabel var7f1ad8e4
|
|||
// // b478
|
||||
// cancycleweapons = true;
|
||||
//
|
||||
// if (g_Vars.tickmode == TICKMODE_6) {
|
||||
// if (g_Vars.tickmode == TICKMODE_CUTSCENE) {
|
||||
// cancycleweapons = false;
|
||||
// }
|
||||
//
|
||||
|
|
|
|||
|
|
@ -3723,7 +3723,7 @@ void func0f0220ec(struct chrdata *chr, s32 arg1, s32 arg2)
|
|||
{
|
||||
struct model *model = chr->model;
|
||||
|
||||
if (g_Vars.tickmode == TICKMODE_6) {
|
||||
if (g_Vars.tickmode == TICKMODE_CUTSCENE) {
|
||||
if (chr->prop->type == PROPTYPE_PLAYER) {
|
||||
chr->hidden &= ~CHRHFLAG_KEEP_CORPSE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2294,7 +2294,7 @@ void func0f0035c0(void)
|
|||
void func0f00372c(void)
|
||||
{
|
||||
if (g_Vars.tickmode != var80061458) {
|
||||
if (TICKMODE_6 == g_Vars.tickmode && TICKMODE_6 != var80061458) {
|
||||
if (TICKMODE_CUTSCENE == g_Vars.tickmode && TICKMODE_CUTSCENE != var80061458) {
|
||||
func0f003444();
|
||||
} else if (TICKMODE_1 == g_Vars.tickmode && TICKMODE_1 != var80061458) {
|
||||
func0f0035c0();
|
||||
|
|
|
|||
|
|
@ -2077,7 +2077,7 @@ glabel var7f1a863c
|
|||
// if (var80062940 == 0 && g_Vars.stagenum == STAGE_CITRAINING) {
|
||||
// g_PlayersWithControl[0] = false;
|
||||
//
|
||||
// if (g_Vars.lvframenum > 30 && g_Vars.tickmode != TICKMODE_6) {
|
||||
// if (g_Vars.lvframenum > 30 && g_Vars.tickmode != TICKMODE_CUTSCENE) {
|
||||
// g_Menus[0].unk83c = 0;
|
||||
// g_Menus[1].unk83c = 0;
|
||||
// g_Menus[2].unk83c = 0;
|
||||
|
|
|
|||
|
|
@ -20997,7 +20997,7 @@ void currentPlayerTickInventory(bool triggeron)
|
|||
}
|
||||
}
|
||||
|
||||
if (g_Vars.tickmode == TICKMODE_6) {
|
||||
if (g_Vars.tickmode == TICKMODE_CUTSCENE) {
|
||||
triggeron = false;
|
||||
g_Vars.currentplayer->hands[1].unk063c = 0;
|
||||
g_Vars.currentplayer->hands[0].unk063c = 0;
|
||||
|
|
|
|||
|
|
@ -4317,7 +4317,7 @@ glabel var7f1ad5cc
|
|||
|
||||
void func0f0ba010(void)
|
||||
{
|
||||
setTickMode(TICKMODE_6);
|
||||
setTickMode(TICKMODE_CUTSCENE);
|
||||
var80070744 = 0;
|
||||
setMoveModeForAllPlayers(MOVEMODE_CUTSCENE);
|
||||
func0f0c1d20();
|
||||
|
|
@ -4327,65 +4327,33 @@ void func0f0ba010(void)
|
|||
var8009de2c = -1;
|
||||
var80070764 = 1;
|
||||
func0f11dcb0(1);
|
||||
g_Vars.in_cutscene = g_Vars.tickmode == TICKMODE_6 && var8009de10 < animGetNumFrames(var8009de18) - 1;
|
||||
g_Vars.in_cutscene = g_Vars.tickmode == TICKMODE_CUTSCENE && var8009de10 < animGetNumFrames(g_CameraAnimNum) - 1;
|
||||
g_Vars.unk0004e2 = 0;
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel cameraDoAnimation
|
||||
/* f0ba0d4: 3c0e8006 */ lui $t6,%hi(var800624a4)
|
||||
/* f0ba0d8: 8dce24a4 */ lw $t6,%lo(var800624a4)($t6)
|
||||
/* f0ba0dc: 27bdffe8 */ addiu $sp,$sp,-24
|
||||
/* f0ba0e0: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* f0ba0e4: 15c00004 */ bnez $t6,.L0f0ba0f8
|
||||
/* f0ba0e8: afa40018 */ sw $a0,0x18($sp)
|
||||
/* f0ba0ec: 3c0f800a */ lui $t7,%hi(g_Vars+0x4d3)
|
||||
/* f0ba0f0: 81efa493 */ lb $t7,%lo(g_Vars+0x4d3)($t7)
|
||||
/* f0ba0f4: 11e00008 */ beqz $t7,.L0f0ba118
|
||||
.L0f0ba0f8:
|
||||
/* f0ba0f8: 3c18800a */ lui $t8,%hi(g_Vars+0x4cc)
|
||||
/* f0ba0fc: 8f18a48c */ lw $t8,%lo(g_Vars+0x4cc)($t8)
|
||||
/* f0ba100: 3c19800a */ lui $t9,%hi(var8009de24)
|
||||
/* f0ba104: 13000004 */ beqz $t8,.L0f0ba118
|
||||
/* f0ba108: 00000000 */ nop
|
||||
/* f0ba10c: 8f39de24 */ lw $t9,%lo(var8009de24)($t9)
|
||||
/* f0ba110: 5720001c */ bnezl $t9,.L0f0ba184
|
||||
/* f0ba114: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
.L0f0ba118:
|
||||
/* f0ba118: 0c004f75 */ jal contDisableTemporarily
|
||||
/* f0ba11c: 00000000 */ nop
|
||||
/* f0ba120: 3c02800a */ lui $v0,%hi(g_Vars+0x2ac)
|
||||
/* f0ba124: 8c42a26c */ lw $v0,%lo(g_Vars+0x2ac)($v0)
|
||||
/* f0ba128: 24030006 */ addiu $v1,$zero,0x6
|
||||
/* f0ba12c: 3c01800a */ lui $at,%hi(var8009de24)
|
||||
/* f0ba130: 10620005 */ beq $v1,$v0,.L0f0ba148
|
||||
/* f0ba134: 00000000 */ nop
|
||||
/* f0ba138: 44802000 */ mtc1 $zero,$f4
|
||||
/* f0ba13c: ac20de24 */ sw $zero,%lo(var8009de24)($at)
|
||||
/* f0ba140: 3c01800a */ lui $at,%hi(var8009de28)
|
||||
/* f0ba144: e424de28 */ swc1 $f4,%lo(var8009de28)($at)
|
||||
.L0f0ba148:
|
||||
/* f0ba148: 50620004 */ beql $v1,$v0,.L0f0ba15c
|
||||
/* f0ba14c: 87a8001a */ lh $t0,0x1a($sp)
|
||||
/* f0ba150: 0fc2e17e */ jal func0f0b85f8
|
||||
/* f0ba154: 00000000 */ nop
|
||||
/* f0ba158: 87a8001a */ lh $t0,0x1a($sp)
|
||||
.L0f0ba15c:
|
||||
/* f0ba15c: 3c09800a */ lui $t1,%hi(g_Vars+0x284)
|
||||
/* f0ba160: 8d29a244 */ lw $t1,%lo(g_Vars+0x284)($t1)
|
||||
/* f0ba164: 3c01800a */ lui $at,%hi(var8009de18)
|
||||
/* f0ba168: a428de18 */ sh $t0,%lo(var8009de18)($at)
|
||||
/* f0ba16c: 8d2a19c8 */ lw $t2,0x19c8($t1)
|
||||
/* f0ba170: 51400004 */ beqzl $t2,.L0f0ba184
|
||||
/* f0ba174: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
/* f0ba178: 0fc2e804 */ jal func0f0ba010
|
||||
/* f0ba17c: 00000000 */ nop
|
||||
/* f0ba180: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
.L0f0ba184:
|
||||
/* f0ba184: 27bd0018 */ addiu $sp,$sp,0x18
|
||||
/* f0ba188: 03e00008 */ jr $ra
|
||||
/* f0ba18c: 00000000 */ nop
|
||||
);
|
||||
void cameraDoAnimation(s16 animnum)
|
||||
{
|
||||
if ((!var800624a4 && g_Vars.unk0004d3 == 0)
|
||||
|| g_Vars.in_cutscene == 0
|
||||
|| var8009de24 == 0) {
|
||||
contDisableTemporarily();
|
||||
|
||||
if (g_Vars.tickmode != TICKMODE_CUTSCENE) {
|
||||
var8009de24 = 0;
|
||||
var8009de28 = 0;
|
||||
}
|
||||
|
||||
if (g_Vars.tickmode != TICKMODE_CUTSCENE) {
|
||||
func0f0b85f8();
|
||||
}
|
||||
|
||||
g_CameraAnimNum = animnum;
|
||||
|
||||
if (g_Vars.currentplayer->haschrbody) {
|
||||
func0f0ba010();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f0ba190
|
||||
|
|
@ -4401,30 +4369,30 @@ glabel var7f1ad5d8
|
|||
/* f0ba194: 27bdff60 */ addiu $sp,$sp,-160
|
||||
/* f0ba198: ac24de2c */ sw $a0,%lo(var8009de2c)($at)
|
||||
/* f0ba19c: afbf0024 */ sw $ra,0x24($sp)
|
||||
/* f0ba1a0: 3c04800a */ lui $a0,%hi(var8009de18)
|
||||
/* f0ba1a0: 3c04800a */ lui $a0,%hi(g_CameraAnimNum)
|
||||
/* f0ba1a4: 0c008dda */ jal animGetNumFrames
|
||||
/* f0ba1a8: 8484de18 */ lh $a0,%lo(var8009de18)($a0)
|
||||
/* f0ba1a8: 8484de18 */ lh $a0,%lo(g_CameraAnimNum)($a0)
|
||||
/* f0ba1ac: 244effff */ addiu $t6,$v0,-1
|
||||
/* f0ba1b0: 3c04800a */ lui $a0,%hi(var8009de18)
|
||||
/* f0ba1b0: 3c04800a */ lui $a0,%hi(g_CameraAnimNum)
|
||||
/* f0ba1b4: afae0034 */ sw $t6,0x34($sp)
|
||||
/* f0ba1b8: 0c008f4e */ jal func00023d38
|
||||
/* f0ba1bc: 8484de18 */ lh $a0,%lo(var8009de18)($a0)
|
||||
/* f0ba1c0: 3c04800a */ lui $a0,%hi(var8009de18)
|
||||
/* f0ba1c4: 8484de18 */ lh $a0,%lo(var8009de18)($a0)
|
||||
/* f0ba1bc: 8484de18 */ lh $a0,%lo(g_CameraAnimNum)($a0)
|
||||
/* f0ba1c0: 3c04800a */ lui $a0,%hi(g_CameraAnimNum)
|
||||
/* f0ba1c4: 8484de18 */ lh $a0,%lo(g_CameraAnimNum)($a0)
|
||||
/* f0ba1c8: 0c008eac */ jal func00023ab0
|
||||
/* f0ba1cc: 8fa50034 */ lw $a1,0x34($sp)
|
||||
/* f0ba1d0: 0c008f43 */ jal func00023d0c
|
||||
/* f0ba1d4: a3a2007b */ sb $v0,0x7b($sp)
|
||||
/* f0ba1d8: 93af007b */ lbu $t7,0x7b($sp)
|
||||
/* f0ba1dc: 3c068008 */ lui $a2,%hi(stagethinglist_221b4)
|
||||
/* f0ba1e0: 3c07800a */ lui $a3,%hi(var8009de18)
|
||||
/* f0ba1e0: 3c07800a */ lui $a3,%hi(g_CameraAnimNum)
|
||||
/* f0ba1e4: 27b80094 */ addiu $t8,$sp,0x94
|
||||
/* f0ba1e8: 27b90088 */ addiu $t9,$sp,0x88
|
||||
/* f0ba1ec: 27a8007c */ addiu $t0,$sp,0x7c
|
||||
/* f0ba1f0: afa8001c */ sw $t0,0x1c($sp)
|
||||
/* f0ba1f4: afb90018 */ sw $t9,0x18($sp)
|
||||
/* f0ba1f8: afb80014 */ sw $t8,0x14($sp)
|
||||
/* f0ba1fc: 84e7de18 */ lh $a3,%lo(var8009de18)($a3)
|
||||
/* f0ba1fc: 84e7de18 */ lh $a3,%lo(g_CameraAnimNum)($a3)
|
||||
/* f0ba200: 24c6c194 */ addiu $a2,$a2,%lo(stagethinglist_221b4)
|
||||
/* f0ba204: 00002025 */ or $a0,$zero,$zero
|
||||
/* f0ba208: 00002825 */ or $a1,$zero,$zero
|
||||
|
|
@ -4497,8 +4465,8 @@ glabel var7f1ad5dc
|
|||
.L0f0ba2f4:
|
||||
/* f0ba2f4: a7a0010c */ sh $zero,0x10c($sp)
|
||||
.L0f0ba2f8:
|
||||
/* f0ba2f8: 3c12800a */ lui $s2,%hi(var8009de18)
|
||||
/* f0ba2fc: 2652de18 */ addiu $s2,$s2,%lo(var8009de18)
|
||||
/* f0ba2f8: 3c12800a */ lui $s2,%hi(g_CameraAnimNum)
|
||||
/* f0ba2fc: 2652de18 */ addiu $s2,$s2,%lo(g_CameraAnimNum)
|
||||
/* f0ba300: 0c008f4e */ jal func00023d38
|
||||
/* f0ba304: 86440000 */ lh $a0,0x0($s2)
|
||||
/* f0ba308: 0c008dda */ jal animGetNumFrames
|
||||
|
|
@ -10488,7 +10456,7 @@ glabel var7f1ad6ac
|
|||
// u32 playernum = g_Vars.currentplayernum;
|
||||
//
|
||||
// // dd28
|
||||
// if (g_Vars.tickmode == TICKMODE_6) {
|
||||
// if (g_Vars.tickmode == TICKMODE_CUTSCENE) {
|
||||
// struct chrdata *chr = eyespy->prop->chr;
|
||||
// eyespy->initialised = false;
|
||||
// eyespy->init = true;
|
||||
|
|
@ -10569,12 +10537,12 @@ glabel var7f1ad6ac
|
|||
// }
|
||||
//
|
||||
// // dfb8
|
||||
// if (g_Vars.tickmode != TICKMODE_6) {
|
||||
// if (g_Vars.tickmode != TICKMODE_CUTSCENE) {
|
||||
// var80070764 = 0;
|
||||
// }
|
||||
//
|
||||
// // dfc8
|
||||
// if (g_Vars.tickmode == TICKMODE_6) {
|
||||
// if (g_Vars.tickmode == TICKMODE_CUTSCENE) {
|
||||
// s32 i;
|
||||
//
|
||||
// func0f0b8ba0();
|
||||
|
|
|
|||
|
|
@ -2491,17 +2491,17 @@ glabel var7f1b7868
|
|||
/* f16a364: 00000000 */ nop
|
||||
/* f16a368: 8e6d04b4 */ lw $t5,0x4b4($s3)
|
||||
/* f16a36c: 2401004e */ addiu $at,$zero,0x4e
|
||||
/* f16a370: 3c04800a */ lui $a0,%hi(var8009de18)
|
||||
/* f16a370: 3c04800a */ lui $a0,%hi(g_CameraAnimNum)
|
||||
/* f16a374: 15a10095 */ bne $t5,$at,.L0f16a5cc
|
||||
/* f16a378: 00008025 */ or $s0,$zero,$zero
|
||||
/* f16a37c: 44800000 */ mtc1 $zero,$f0
|
||||
/* f16a380: 8484de18 */ lh $a0,%lo(var8009de18)($a0)
|
||||
/* f16a380: 8484de18 */ lh $a0,%lo(g_CameraAnimNum)($a0)
|
||||
/* f16a384: 0c008dda */ jal animGetNumFrames
|
||||
/* f16a388: e7a000c4 */ swc1 $f0,0xc4($sp)
|
||||
/* f16a38c: 3c03800a */ lui $v1,%hi(var8009de10)
|
||||
/* f16a390: 8c63de10 */ lw $v1,%lo(var8009de10)($v1)
|
||||
/* f16a394: c7a000c4 */ lwc1 $f0,0xc4($sp)
|
||||
/* f16a398: 3c0f800a */ lui $t7,%hi(var8009de18)
|
||||
/* f16a398: 3c0f800a */ lui $t7,%hi(g_CameraAnimNum)
|
||||
/* f16a39c: 2861005a */ slti $at,$v1,0x5a
|
||||
/* f16a3a0: 10200009 */ beqz $at,.L0f16a3c8
|
||||
/* f16a3a4: 2444ffff */ addiu $a0,$v0,-1
|
||||
|
|
@ -2514,7 +2514,7 @@ glabel var7f1b7868
|
|||
/* f16a3c0: 460a4403 */ div.s $f16,$f8,$f10
|
||||
/* f16a3c4: 46109001 */ sub.s $f0,$f18,$f16
|
||||
.L0f16a3c8:
|
||||
/* f16a3c8: 85efde18 */ lh $t7,%lo(var8009de18)($t7)
|
||||
/* f16a3c8: 85efde18 */ lh $t7,%lo(g_CameraAnimNum)($t7)
|
||||
/* f16a3cc: 2401046c */ addiu $at,$zero,0x46c
|
||||
/* f16a3d0: 2498ffe2 */ addiu $t8,$a0,-30
|
||||
/* f16a3d4: 11e1000d */ beq $t7,$at,.L0f16a40c
|
||||
|
|
@ -2649,8 +2649,8 @@ glabel var7f1b7868
|
|||
/* f16a5c4: af2b0004 */ sw $t3,0x4($t9)
|
||||
/* f16a5c8: 00409025 */ or $s2,$v0,$zero
|
||||
.L0f16a5cc:
|
||||
/* f16a5cc: 3c10800a */ lui $s0,%hi(var8009de18)
|
||||
/* f16a5d0: 8610de18 */ lh $s0,%lo(var8009de18)($s0)
|
||||
/* f16a5cc: 3c10800a */ lui $s0,%hi(g_CameraAnimNum)
|
||||
/* f16a5d0: 8610de18 */ lh $s0,%lo(g_CameraAnimNum)($s0)
|
||||
/* f16a5d4: 24010181 */ addiu $at,$zero,0x181
|
||||
/* f16a5d8: 3c048008 */ lui $a0,%hi(var80084098)
|
||||
/* f16a5dc: 12010011 */ beq $s0,$at,.L0f16a624
|
||||
|
|
|
|||
|
|
@ -215,7 +215,7 @@ void musicStartAmbient(f32 arg0)
|
|||
if (g_TemporaryAmbientTrack != -1) {
|
||||
pass = true;
|
||||
} else if (musicIsAnyPlayerInAmbientRoom()) {
|
||||
if (g_Vars.tickmode != TICKMODE_6 && AMBIENTTRACK() != stageGetAmbientTrack(g_MusicStageNum)) {
|
||||
if (g_Vars.tickmode != TICKMODE_CUTSCENE && AMBIENTTRACK() != stageGetAmbientTrack(g_MusicStageNum)) {
|
||||
musicEnd(TRACKTYPE_AMBIENT);
|
||||
musicStartTemporary(stageGetAmbientTrack(g_MusicStageNum));
|
||||
return;
|
||||
|
|
@ -238,7 +238,7 @@ bool musicIsAnyPlayerInAmbientRoom(void)
|
|||
{
|
||||
s32 i;
|
||||
|
||||
if (g_Vars.tickmode == TICKMODE_6) {
|
||||
if (g_Vars.tickmode == TICKMODE_CUTSCENE) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -28341,7 +28341,7 @@ s32 objTick(struct prop *prop)
|
|||
|
||||
if (model->anim) {
|
||||
if (g_Anims[model->anim->animnum].flags & 0x02) {
|
||||
if (g_Vars.tickmode != TICKMODE_6
|
||||
if (g_Vars.tickmode != TICKMODE_CUTSCENE
|
||||
&& modelGetCurAnimFrame(model) >= modelGetNumAnimFrames(model) - 1) {
|
||||
animTurnOff(model->anim);
|
||||
model->anim = NULL;
|
||||
|
|
@ -28356,7 +28356,7 @@ s32 objTick(struct prop *prop)
|
|||
if (sp572) {
|
||||
s32 iVar10 = g_Vars.lvupdate240;
|
||||
|
||||
if (g_Vars.tickmode == TICKMODE_6 && iVar10 > 0 && g_Vars.unk0004e2 > 0) {
|
||||
if (g_Vars.tickmode == TICKMODE_CUTSCENE && iVar10 > 0 && g_Vars.unk0004e2 > 0) {
|
||||
iVar10 += g_Vars.unk0004e2 * 4;
|
||||
}
|
||||
|
||||
|
|
@ -34230,8 +34230,8 @@ glabel func0f0841dc
|
|||
/* f084234: 80c6be3c */ lb $a2,%lo(propexplosiontypes+0x8)($a2)
|
||||
/* f084238: 17210007 */ bne $t9,$at,.L0f084258
|
||||
/* f08423c: 00a01825 */ or $v1,$a1,$zero
|
||||
/* f084240: 3c08800a */ lui $t0,%hi(var8009de18)
|
||||
/* f084244: 8508de18 */ lh $t0,%lo(var8009de18)($t0)
|
||||
/* f084240: 3c08800a */ lui $t0,%hi(g_CameraAnimNum)
|
||||
/* f084244: 8508de18 */ lh $t0,%lo(g_CameraAnimNum)($t0)
|
||||
/* f084248: 240102d7 */ addiu $at,$zero,0x2d7
|
||||
/* f08424c: 55010003 */ bnel $t0,$at,.L0f08425c
|
||||
/* f084250: 8ca90018 */ lw $t1,0x18($a1)
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ void weatherTick(void)
|
|||
{
|
||||
if (!g_WeatherData
|
||||
|| (g_StageIndex == STAGEINDEX_AIRBASE && g_Vars.currentplayer->cam_pos.z < -2000.0f)
|
||||
|| (g_StageIndex == STAGEINDEX_G5BUILDING && g_Vars.tickmode != TICKMODE_6)) {
|
||||
|| (g_StageIndex == STAGEINDEX_G5BUILDING && g_Vars.tickmode != TICKMODE_CUTSCENE)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -14807,7 +14807,7 @@ u32 var8009de08 = 0;
|
|||
u32 var8009de0c = 0;
|
||||
s32 var8009de10 = 0;
|
||||
u32 var8009de14 = 0;
|
||||
s16 var8009de18 = 0;
|
||||
s16 g_CameraAnimNum = 0;
|
||||
f32 var8009de1c = 0;
|
||||
s32 var8009de20 = 0;
|
||||
s32 var8009de24 = 0;
|
||||
|
|
|
|||
|
|
@ -2869,7 +2869,7 @@
|
|||
#define TICKMODE_3 3
|
||||
#define TICKMODE_4 4
|
||||
#define TICKMODE_5 5
|
||||
#define TICKMODE_6 6
|
||||
#define TICKMODE_CUTSCENE 6
|
||||
#define TICKMODE_AUTOWALK 7
|
||||
|
||||
#define TILEFLAG_0020 0x0020
|
||||
|
|
|
|||
|
|
@ -624,7 +624,7 @@ extern u32 var8009de08;
|
|||
extern u32 var8009de0c;
|
||||
extern s32 var8009de10;
|
||||
extern u32 var8009de14;
|
||||
extern s16 var8009de18;
|
||||
extern s16 g_CameraAnimNum;
|
||||
extern f32 var8009de1c;
|
||||
extern s32 var8009de20;
|
||||
extern s32 var8009de24;
|
||||
|
|
|
|||
Loading…
Reference in New Issue