Decompile cameraTick
This commit is contained in:
parent
2bc3549f13
commit
26367582de
|
|
@ -1583,7 +1583,7 @@ void coreUpdateSoloHandicaps(void)
|
|||
{
|
||||
if (g_Vars.antiplayernum >= 0) {
|
||||
if (g_Difficulty == DIFF_A) {
|
||||
var80069948 = 2;
|
||||
g_CameraWaitMultiplier = 2;
|
||||
var8006994c = 2;
|
||||
var80069950 = 0.5f;
|
||||
var80069954 = 0.5f;
|
||||
|
|
@ -1596,7 +1596,7 @@ void coreUpdateSoloHandicaps(void)
|
|||
g_AmmoMultiplier = 3;
|
||||
var80062cac = 0.2f;
|
||||
} else if (g_Difficulty == DIFF_SA) {
|
||||
var80069948 = 2;
|
||||
g_CameraWaitMultiplier = 2;
|
||||
var8006994c = 1.5f;
|
||||
var80069950 = 0.5f;
|
||||
var80069954 = 0.5f;
|
||||
|
|
@ -1609,7 +1609,7 @@ void coreUpdateSoloHandicaps(void)
|
|||
g_AmmoMultiplier = 2.5f;
|
||||
var80062cac = 0.5f;
|
||||
} else {
|
||||
var80069948 = 2;
|
||||
g_CameraWaitMultiplier = 2;
|
||||
var8006994c = 1;
|
||||
var80069950 = 0.5f;
|
||||
var80069954 = 0.5f;
|
||||
|
|
@ -1624,7 +1624,7 @@ void coreUpdateSoloHandicaps(void)
|
|||
}
|
||||
} else if (g_Vars.coopplayernum >= 0) {
|
||||
if (g_Difficulty == DIFF_A) {
|
||||
var80069948 = 2;
|
||||
g_CameraWaitMultiplier = 2;
|
||||
var8006994c = 2;
|
||||
var80069950 = 0.5f;
|
||||
var80069954 = 0.5f;
|
||||
|
|
@ -1637,7 +1637,7 @@ void coreUpdateSoloHandicaps(void)
|
|||
g_AmmoMultiplier = 2;
|
||||
var80062cac = 0.2f;
|
||||
} else if (g_Difficulty == DIFF_SA) {
|
||||
var80069948 = 1;
|
||||
g_CameraWaitMultiplier = 1;
|
||||
var8006994c = 1;
|
||||
var80069950 = 0.75f;
|
||||
var80069954 = 1;
|
||||
|
|
@ -1650,7 +1650,7 @@ void coreUpdateSoloHandicaps(void)
|
|||
g_AmmoMultiplier = 1.5f;
|
||||
var80062cac = 0.5f;
|
||||
} else {
|
||||
var80069948 = 1;
|
||||
g_CameraWaitMultiplier = 1;
|
||||
var8006994c = 1;
|
||||
var80069950 = 1;
|
||||
var80069954 = 1.5f;
|
||||
|
|
@ -1682,7 +1682,7 @@ void coreUpdateSoloHandicaps(void)
|
|||
}
|
||||
}
|
||||
|
||||
var80069948 = 2;
|
||||
g_CameraWaitMultiplier = 2;
|
||||
var8006994c = 2;
|
||||
var80069950 = 0.5f * frac;
|
||||
var80069954 = 0.5f * frac;
|
||||
|
|
@ -1695,7 +1695,7 @@ void coreUpdateSoloHandicaps(void)
|
|||
g_AmmoMultiplier = 2;
|
||||
var80062cac = 0.2f;
|
||||
} else if (g_Difficulty == DIFF_SA) {
|
||||
var80069948 = 1;
|
||||
g_CameraWaitMultiplier = 1;
|
||||
var8006994c = 1;
|
||||
var80069950 = 0.75f;
|
||||
var80069954 = 0.75f;
|
||||
|
|
@ -1708,7 +1708,7 @@ void coreUpdateSoloHandicaps(void)
|
|||
g_AmmoMultiplier = 1.5f;
|
||||
var80062cac = 0.5f;
|
||||
} else if (g_Difficulty == DIFF_PA) {
|
||||
var80069948 = 1;
|
||||
g_CameraWaitMultiplier = 1;
|
||||
var8006994c = 1;
|
||||
var80069950 = 1;
|
||||
var80069954 = 1;
|
||||
|
|
@ -1721,7 +1721,7 @@ void coreUpdateSoloHandicaps(void)
|
|||
g_AmmoMultiplier = 1;
|
||||
var80062cac = 1;
|
||||
} else if (g_Difficulty == DIFF_PD) {
|
||||
var80069948 = 1;
|
||||
g_CameraWaitMultiplier = 1;
|
||||
var8006994c = 1;
|
||||
var80069950 = 1;
|
||||
var80069954 = 1;
|
||||
|
|
|
|||
|
|
@ -553,8 +553,8 @@ u32 var80061bec = 0x00000000;
|
|||
///* f00ca68: 3c018007 */ lui $at,%hi(var80069934)
|
||||
///* f00ca6c: 2419ffff */ addiu $t9,$zero,-1
|
||||
///* f00ca70: ac399934 */ sw $t9,%lo(var80069934)($at)
|
||||
///* f00ca74: 3c018007 */ lui $at,%hi(var80069948)
|
||||
///* f00ca78: e4209948 */ swc1 $f0,%lo(var80069948)($at)
|
||||
///* f00ca74: 3c018007 */ lui $at,%hi(g_CameraWaitMultiplier)
|
||||
///* f00ca78: e4209948 */ swc1 $f0,%lo(g_CameraWaitMultiplier)($at)
|
||||
///* f00ca7c: 3c018007 */ lui $at,%hi(var8006994c)
|
||||
///* f00ca80: e420994c */ swc1 $f0,%lo(var8006994c)($at)
|
||||
///* f00ca84: 3c018007 */ lui $at,%hi(var80069950)
|
||||
|
|
@ -786,7 +786,7 @@ void setupInit(void)
|
|||
|
||||
var80069930 = 0;
|
||||
var80069934 = -1;
|
||||
var80069948 = 1;
|
||||
g_CameraWaitMultiplier = 1;
|
||||
var8006994c = 1;
|
||||
var80069950 = 1;
|
||||
var80069954 = 1;
|
||||
|
|
|
|||
|
|
@ -125,7 +125,7 @@ u32 var80069938 = 0x00000000;
|
|||
u32 var8006993c = 0x00000000;
|
||||
u32 var80069940 = 0x00000000;
|
||||
u32 var80069944 = 0x00000000;
|
||||
f32 var80069948 = 1;
|
||||
f32 g_CameraWaitMultiplier = 1;
|
||||
f32 var8006994c = 1;
|
||||
f32 var80069950 = 1;
|
||||
f32 var80069954 = 1;
|
||||
|
|
@ -20280,507 +20280,196 @@ void escastepTick(struct prop *prop)
|
|||
}
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel cameraTick
|
||||
.late_rodata
|
||||
glabel var7f1aa458
|
||||
.word 0x40c907a9
|
||||
glabel var7f1aa45c
|
||||
.word 0x40c907a9
|
||||
glabel var7f1aa460
|
||||
.word 0x404907a9
|
||||
glabel var7f1aa464
|
||||
.word 0x404907a9
|
||||
glabel var7f1aa468
|
||||
.word 0x3f4907a9
|
||||
glabel var7f1aa46c
|
||||
.word 0xbf4907a9
|
||||
glabel var7f1aa470
|
||||
.word 0x40c907a9
|
||||
glabel var7f1aa474
|
||||
.word 0x40c907a9
|
||||
glabel var7f1aa478
|
||||
.word 0x40c907a9
|
||||
glabel var7f1aa47c
|
||||
.word 0x404907a9
|
||||
glabel var7f1aa480
|
||||
.word 0x3f4907a9
|
||||
glabel var7f1aa484
|
||||
.word 0xbf4907a9
|
||||
glabel var7f1aa488
|
||||
.word 0x443f042f
|
||||
glabel var7f1aa48c
|
||||
.word 0x3a2b8ba8
|
||||
glabel var7f1aa490
|
||||
.word 0x3a2b8ba8
|
||||
glabel var7f1aa494
|
||||
.word 0x443f042f
|
||||
glabel var7f1aa498
|
||||
.word 0x443f042f
|
||||
glabel var7f1aa49c
|
||||
.word 0x3a2b8ba8
|
||||
glabel var7f1aa4a0
|
||||
.word 0x3a2b8ba8
|
||||
glabel var7f1aa4a4
|
||||
.word 0x443f042f
|
||||
.text
|
||||
/* f0782ac: 27bdffc0 */ addiu $sp,$sp,-64
|
||||
/* f0782b0: 3c09800a */ lui $t1,%hi(g_Vars)
|
||||
/* f0782b4: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
|
||||
/* f0782b8: 8d2f0298 */ lw $t7,0x298($t1)
|
||||
/* f0782bc: afbf001c */ sw $ra,0x1c($sp)
|
||||
/* f0782c0: afa40040 */ sw $a0,0x40($sp)
|
||||
/* f0782c4: 8c830004 */ lw $v1,0x4($a0)
|
||||
/* f0782c8: 24080001 */ addiu $t0,$zero,0x1
|
||||
/* f0782cc: 05e0000d */ bltz $t7,.L0f078304
|
||||
/* f0782d0: afa30038 */ sw $v1,0x38($sp)
|
||||
/* f0782d4: 8d38000c */ lw $t8,0xc($t1)
|
||||
/* f0782d8: 33190001 */ andi $t9,$t8,0x1
|
||||
/* f0782dc: 53200006 */ beqzl $t9,.L0f0782f8
|
||||
/* f0782e0: 8d2c02a4 */ lw $t4,0x2a4($t1)
|
||||
/* f0782e4: 8d2a02a0 */ lw $t2,0x2a0($t1)
|
||||
/* f0782e8: 8d4b00bc */ lw $t3,0xbc($t2)
|
||||
/* f0782ec: 10000008 */ b .L0f078310
|
||||
/* f0782f0: afab0030 */ sw $t3,0x30($sp)
|
||||
/* f0782f4: 8d2c02a4 */ lw $t4,0x2a4($t1)
|
||||
.L0f0782f8:
|
||||
/* f0782f8: 8d8d00bc */ lw $t5,0xbc($t4)
|
||||
/* f0782fc: 10000004 */ b .L0f078310
|
||||
/* f078300: afad0030 */ sw $t5,0x30($sp)
|
||||
.L0f078304:
|
||||
/* f078304: 8d2e02a0 */ lw $t6,0x2a0($t1)
|
||||
/* f078308: 8dcf00bc */ lw $t7,0xbc($t6)
|
||||
/* f07830c: afaf0030 */ sw $t7,0x30($sp)
|
||||
.L0f078310:
|
||||
/* f078310: 8fb80030 */ lw $t8,0x30($sp)
|
||||
/* f078314: 8fb90040 */ lw $t9,0x40($sp)
|
||||
/* f078318: c7040008 */ lwc1 $f4,0x8($t8)
|
||||
/* f07831c: c7260008 */ lwc1 $f6,0x8($t9)
|
||||
/* f078320: 46062201 */ sub.s $f8,$f4,$f6
|
||||
/* f078324: e7a8002c */ swc1 $f8,0x2c($sp)
|
||||
/* f078328: c70a000c */ lwc1 $f10,0xc($t8)
|
||||
/* f07832c: c724000c */ lwc1 $f4,0xc($t9)
|
||||
/* f078330: 46045181 */ sub.s $f6,$f10,$f4
|
||||
/* f078334: 44802000 */ mtc1 $zero,$f4
|
||||
/* f078338: e7a60028 */ swc1 $f6,0x28($sp)
|
||||
/* f07833c: 846a005e */ lh $t2,0x5e($v1)
|
||||
/* f078340: c7080010 */ lwc1 $f8,0x10($t8)
|
||||
/* f078344: c72a0010 */ lwc1 $f10,0x10($t9)
|
||||
/* f078348: 11400003 */ beqz $t2,.L0f078358
|
||||
/* f07834c: 460a4381 */ sub.s $f14,$f8,$f10
|
||||
/* f078350: 10000002 */ b .L0f07835c
|
||||
/* f078354: c47200a8 */ lwc1 $f18,0xa8($v1)
|
||||
.L0f078358:
|
||||
/* f078358: c47200ac */ lwc1 $f18,0xac($v1)
|
||||
.L0f07835c:
|
||||
/* f07835c: c46000bc */ lwc1 $f0,0xbc($v1)
|
||||
/* f078360: c7a8002c */ lwc1 $f8,0x2c($sp)
|
||||
/* f078364: 8fac0038 */ lw $t4,0x38($sp)
|
||||
/* f078368: 4600203c */ c.lt.s $f4,$f0
|
||||
/* f07836c: 00000000 */ nop
|
||||
/* f078370: 4502000f */ bc1fl .L0f0783b0
|
||||
/* f078374: 8d2b0324 */ lw $t3,0x324($t1)
|
||||
/* f078378: 46000182 */ mul.s $f6,$f0,$f0
|
||||
/* f07837c: c7a40028 */ lwc1 $f4,0x28($sp)
|
||||
/* f078380: 46084282 */ mul.s $f10,$f8,$f8
|
||||
/* f078384: 00000000 */ nop
|
||||
/* f078388: 46042202 */ mul.s $f8,$f4,$f4
|
||||
/* f07838c: 46085100 */ add.s $f4,$f10,$f8
|
||||
/* f078390: 460e7282 */ mul.s $f10,$f14,$f14
|
||||
/* f078394: 460a2200 */ add.s $f8,$f4,$f10
|
||||
/* f078398: 4608303c */ c.lt.s $f6,$f8
|
||||
/* f07839c: 00000000 */ nop
|
||||
/* f0783a0: 45000002 */ bc1f .L0f0783ac
|
||||
/* f0783a4: 00000000 */ nop
|
||||
/* f0783a8: 00004025 */ or $t0,$zero,$zero
|
||||
.L0f0783ac:
|
||||
/* f0783ac: 8d2b0324 */ lw $t3,0x324($t1)
|
||||
.L0f0783b0:
|
||||
/* f0783b0: 5160000d */ beqzl $t3,.L0f0783e8
|
||||
/* f0783b4: 00004025 */ or $t0,$zero,$zero
|
||||
/* f0783b8: 8d8d0008 */ lw $t5,0x8($t4)
|
||||
/* f0783bc: 3c022000 */ lui $v0,0x2000
|
||||
/* f0783c0: 8faf0030 */ lw $t7,0x30($sp)
|
||||
/* f0783c4: 000d7080 */ sll $t6,$t5,0x2
|
||||
/* f0783c8: 05c20007 */ bltzl $t6,.L0f0783e8
|
||||
/* f0783cc: 00004025 */ or $t0,$zero,$zero
|
||||
/* f0783d0: 8df80004 */ lw $t8,0x4($t7)
|
||||
/* f0783d4: 8f190014 */ lw $t9,0x14($t8)
|
||||
/* f0783d8: 03225024 */ and $t2,$t9,$v0
|
||||
/* f0783dc: 11400002 */ beqz $t2,.L0f0783e8
|
||||
/* f0783e0: 00000000 */ nop
|
||||
/* f0783e4: 00004025 */ or $t0,$zero,$zero
|
||||
.L0f0783e8:
|
||||
/* f0783e8: 11000045 */ beqz $t0,.L0f078500
|
||||
/* f0783ec: e7ae0024 */ swc1 $f14,0x24($sp)
|
||||
/* f0783f0: c7ac002c */ lwc1 $f12,0x2c($sp)
|
||||
/* f0783f4: afa3003c */ sw $v1,0x3c($sp)
|
||||
/* f0783f8: afa80020 */ sw $t0,0x20($sp)
|
||||
/* f0783fc: e7ae0024 */ swc1 $f14,0x24($sp)
|
||||
/* f078400: 0fc259d4 */ jal func0f096750
|
||||
/* f078404: e7b20034 */ swc1 $f18,0x34($sp)
|
||||
/* f078408: 8fa3003c */ lw $v1,0x3c($sp)
|
||||
/* f07840c: 44802000 */ mtc1 $zero,$f4
|
||||
/* f078410: 3c09800a */ lui $t1,%hi(g_Vars)
|
||||
/* f078414: c46200a4 */ lwc1 $f2,0xa4($v1)
|
||||
/* f078418: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
|
||||
/* f07841c: 8fa80020 */ lw $t0,0x20($sp)
|
||||
/* f078420: 4604103c */ c.lt.s $f2,$f4
|
||||
/* f078424: c7b20034 */ lwc1 $f18,0x34($sp)
|
||||
/* f078428: 3c017f1b */ lui $at,%hi(var7f1aa458)
|
||||
/* f07842c: 45000005 */ bc1f .L0f078444
|
||||
/* f078430: 00000000 */ nop
|
||||
/* f078434: 3c017f1b */ lui $at,%hi(var7f1aa45c)
|
||||
/* f078438: c430a458 */ lwc1 $f16,%lo(var7f1aa458)($at)
|
||||
/* f07843c: 10000007 */ b .L0f07845c
|
||||
/* f078440: 46101080 */ add.s $f2,$f2,$f16
|
||||
.L0f078444:
|
||||
/* f078444: c430a45c */ lwc1 $f16,%lo(var7f1aa45c)($at)
|
||||
/* f078448: 4602803e */ c.le.s $f16,$f2
|
||||
/* f07844c: 00000000 */ nop
|
||||
/* f078450: 45020003 */ bc1fl .L0f078460
|
||||
/* f078454: c46a00a0 */ lwc1 $f10,0xa0($v1)
|
||||
/* f078458: 46101081 */ sub.s $f2,$f2,$f16
|
||||
.L0f07845c:
|
||||
/* f07845c: c46a00a0 */ lwc1 $f10,0xa0($v1)
|
||||
.L0f078460:
|
||||
/* f078460: 3c017f1b */ lui $at,%hi(var7f1aa460)
|
||||
/* f078464: 460a1080 */ add.s $f2,$f2,$f10
|
||||
/* f078468: 4602803e */ c.le.s $f16,$f2
|
||||
/* f07846c: 00000000 */ nop
|
||||
/* f078470: 45020003 */ bc1fl .L0f078480
|
||||
/* f078474: 4602003c */ c.lt.s $f0,$f2
|
||||
/* f078478: 46101081 */ sub.s $f2,$f2,$f16
|
||||
/* f07847c: 4602003c */ c.lt.s $f0,$f2
|
||||
.L0f078480:
|
||||
/* f078480: 46020381 */ sub.s $f14,$f0,$f2
|
||||
/* f078484: 45000002 */ bc1f .L0f078490
|
||||
/* f078488: 46007306 */ mov.s $f12,$f14
|
||||
/* f07848c: 46107300 */ add.s $f12,$f14,$f16
|
||||
.L0f078490:
|
||||
/* f078490: c426a460 */ lwc1 $f6,%lo(var7f1aa460)($at)
|
||||
/* f078494: 44804000 */ mtc1 $zero,$f8
|
||||
/* f078498: 3c017f1b */ lui $at,%hi(var7f1aa464)
|
||||
/* f07849c: 46066301 */ sub.s $f12,$f12,$f6
|
||||
/* f0784a0: 4608603c */ c.lt.s $f12,$f8
|
||||
/* f0784a4: 00000000 */ nop
|
||||
/* f0784a8: 45000002 */ bc1f .L0f0784b4
|
||||
/* f0784ac: 00000000 */ nop
|
||||
/* f0784b0: 46106300 */ add.s $f12,$f12,$f16
|
||||
.L0f0784b4:
|
||||
/* f0784b4: c424a464 */ lwc1 $f4,%lo(var7f1aa464)($at)
|
||||
/* f0784b8: 3c017f1b */ lui $at,%hi(var7f1aa468)
|
||||
/* f0784bc: 460c203c */ c.lt.s $f4,$f12
|
||||
/* f0784c0: 00000000 */ nop
|
||||
/* f0784c4: 45000002 */ bc1f .L0f0784d0
|
||||
/* f0784c8: 00000000 */ nop
|
||||
/* f0784cc: 46106301 */ sub.s $f12,$f12,$f16
|
||||
.L0f0784d0:
|
||||
/* f0784d0: c42aa468 */ lwc1 $f10,%lo(var7f1aa468)($at)
|
||||
/* f0784d4: 3c017f1b */ lui $at,%hi(var7f1aa46c)
|
||||
/* f0784d8: 460c503c */ c.lt.s $f10,$f12
|
||||
/* f0784dc: 00000000 */ nop
|
||||
/* f0784e0: 45030007 */ bc1tl .L0f078500
|
||||
/* f0784e4: 00004025 */ or $t0,$zero,$zero
|
||||
/* f0784e8: c426a46c */ lwc1 $f6,%lo(var7f1aa46c)($at)
|
||||
/* f0784ec: 4606603c */ c.lt.s $f12,$f6
|
||||
/* f0784f0: 00000000 */ nop
|
||||
/* f0784f4: 45000002 */ bc1f .L0f078500
|
||||
/* f0784f8: 00000000 */ nop
|
||||
/* f0784fc: 00004025 */ or $t0,$zero,$zero
|
||||
.L0f078500:
|
||||
/* f078500: 11000032 */ beqz $t0,.L0f0785cc
|
||||
/* f078504: c7ae0024 */ lwc1 $f14,0x24($sp)
|
||||
/* f078508: c7a8002c */ lwc1 $f8,0x2c($sp)
|
||||
/* f07850c: afa3003c */ sw $v1,0x3c($sp)
|
||||
/* f078510: afa80020 */ sw $t0,0x20($sp)
|
||||
/* f078514: 46084102 */ mul.s $f4,$f8,$f8
|
||||
/* f078518: e7b20034 */ swc1 $f18,0x34($sp)
|
||||
/* f07851c: 460e7282 */ mul.s $f10,$f14,$f14
|
||||
/* f078520: 0c012974 */ jal sqrtf
|
||||
/* f078524: 460a2300 */ add.s $f12,$f4,$f10
|
||||
/* f078528: c7ac0028 */ lwc1 $f12,0x28($sp)
|
||||
/* f07852c: 0fc259d4 */ jal func0f096750
|
||||
/* f078530: 46000386 */ mov.s $f14,$f0
|
||||
/* f078534: 8fa3003c */ lw $v1,0x3c($sp)
|
||||
/* f078538: 3c017f1b */ lui $at,%hi(var7f1aa478)
|
||||
/* f07853c: c430a478 */ lwc1 $f16,%lo(var7f1aa478)($at)
|
||||
/* f078540: c46200c0 */ lwc1 $f2,0xc0($v1)
|
||||
/* f078544: 3c09800a */ lui $t1,%hi(g_Vars)
|
||||
/* f078548: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
|
||||
/* f07854c: 4602003c */ c.lt.s $f0,$f2
|
||||
/* f078550: 8fa80020 */ lw $t0,0x20($sp)
|
||||
/* f078554: 46020381 */ sub.s $f14,$f0,$f2
|
||||
/* f078558: c7b20034 */ lwc1 $f18,0x34($sp)
|
||||
/* f07855c: 3c017f1b */ lui $at,%hi(var7f1aa47c)
|
||||
/* f078560: 45000002 */ bc1f .L0f07856c
|
||||
/* f078564: 46007306 */ mov.s $f12,$f14
|
||||
/* f078568: 46107300 */ add.s $f12,$f14,$f16
|
||||
.L0f07856c:
|
||||
/* f07856c: 460c803c */ c.lt.s $f16,$f12
|
||||
/* f078570: 00000000 */ nop
|
||||
/* f078574: 45000002 */ bc1f .L0f078580
|
||||
/* f078578: 00000000 */ nop
|
||||
/* f07857c: 46106301 */ sub.s $f12,$f12,$f16
|
||||
.L0f078580:
|
||||
/* f078580: c426a47c */ lwc1 $f6,%lo(var7f1aa47c)($at)
|
||||
/* f078584: 3c017f1b */ lui $at,%hi(var7f1aa480)
|
||||
/* f078588: 460c303c */ c.lt.s $f6,$f12
|
||||
/* f07858c: 00000000 */ nop
|
||||
/* f078590: 45000002 */ bc1f .L0f07859c
|
||||
/* f078594: 00000000 */ nop
|
||||
/* f078598: 46106301 */ sub.s $f12,$f12,$f16
|
||||
.L0f07859c:
|
||||
/* f07859c: c428a480 */ lwc1 $f8,%lo(var7f1aa480)($at)
|
||||
/* f0785a0: 3c017f1b */ lui $at,%hi(var7f1aa484)
|
||||
/* f0785a4: 460c403c */ c.lt.s $f8,$f12
|
||||
/* f0785a8: 00000000 */ nop
|
||||
/* f0785ac: 45030007 */ bc1tl .L0f0785cc
|
||||
/* f0785b0: 00004025 */ or $t0,$zero,$zero
|
||||
/* f0785b4: c424a484 */ lwc1 $f4,%lo(var7f1aa484)($at)
|
||||
/* f0785b8: 4604603c */ c.lt.s $f12,$f4
|
||||
/* f0785bc: 00000000 */ nop
|
||||
/* f0785c0: 45000002 */ bc1f .L0f0785cc
|
||||
/* f0785c4: 00000000 */ nop
|
||||
/* f0785c8: 00004025 */ or $t0,$zero,$zero
|
||||
.L0f0785cc:
|
||||
/* f0785cc: 11000021 */ beqz $t0,.L0f078654
|
||||
/* f0785d0: 8fa40030 */ lw $a0,0x30($sp)
|
||||
/* f0785d4: 00002825 */ or $a1,$zero,$zero
|
||||
/* f0785d8: afa3003c */ sw $v1,0x3c($sp)
|
||||
/* f0785dc: afa80020 */ sw $t0,0x20($sp)
|
||||
/* f0785e0: 0fc30795 */ jal func0f0c1e54
|
||||
/* f0785e4: e7b20034 */ swc1 $f18,0x34($sp)
|
||||
/* f0785e8: 8fab0040 */ lw $t3,0x40($sp)
|
||||
/* f0785ec: 8fac0030 */ lw $t4,0x30($sp)
|
||||
/* f0785f0: 240d013b */ addiu $t5,$zero,0x13b
|
||||
/* f0785f4: 240e0008 */ addiu $t6,$zero,0x8
|
||||
/* f0785f8: afae0014 */ sw $t6,0x14($sp)
|
||||
/* f0785fc: afad0010 */ sw $t5,0x10($sp)
|
||||
/* f078600: 25640008 */ addiu $a0,$t3,0x8
|
||||
/* f078604: 25650028 */ addiu $a1,$t3,0x28
|
||||
/* f078608: 25860008 */ addiu $a2,$t4,0x8
|
||||
/* f07860c: 0c00b70f */ jal hasLineOfSight
|
||||
/* f078610: 25870028 */ addiu $a3,$t4,0x28
|
||||
/* f078614: 8fa3003c */ lw $v1,0x3c($sp)
|
||||
/* f078618: 8fa80020 */ lw $t0,0x20($sp)
|
||||
/* f07861c: 14400002 */ bnez $v0,.L0f078628
|
||||
/* f078620: c7b20034 */ lwc1 $f18,0x34($sp)
|
||||
/* f078624: 00004025 */ or $t0,$zero,$zero
|
||||
.L0f078628:
|
||||
/* f078628: 8fa40030 */ lw $a0,0x30($sp)
|
||||
/* f07862c: 24050001 */ addiu $a1,$zero,0x1
|
||||
/* f078630: afa3003c */ sw $v1,0x3c($sp)
|
||||
/* f078634: afa80020 */ sw $t0,0x20($sp)
|
||||
/* f078638: 0fc30795 */ jal func0f0c1e54
|
||||
/* f07863c: e7b20034 */ swc1 $f18,0x34($sp)
|
||||
/* f078640: 3c09800a */ lui $t1,%hi(g_Vars)
|
||||
/* f078644: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
|
||||
/* f078648: 8fa3003c */ lw $v1,0x3c($sp)
|
||||
/* f07864c: 8fa80020 */ lw $t0,0x20($sp)
|
||||
/* f078650: c7b20034 */ lwc1 $f18,0x34($sp)
|
||||
.L0f078654:
|
||||
/* f078654: 8faf0038 */ lw $t7,0x38($sp)
|
||||
/* f078658: 3c01bfff */ lui $at,0xbfff
|
||||
/* f07865c: 11000023 */ beqz $t0,.L0f0786ec
|
||||
/* f078660: 8de20008 */ lw $v0,0x8($t7)
|
||||
/* f078664: 3c014000 */ lui $at,0x4000
|
||||
/* f078668: 0041c025 */ or $t8,$v0,$at
|
||||
/* f07866c: adf80008 */ sw $t8,0x8($t7)
|
||||
/* f078670: 8c7900b8 */ lw $t9,0xb8($v1)
|
||||
/* f078674: 8d2a0038 */ lw $t2,0x38($t1)
|
||||
/* f078678: 3c014396 */ lui $at,0x4396
|
||||
/* f07867c: 44815000 */ mtc1 $at,$f10
|
||||
/* f078680: 032a5821 */ addu $t3,$t9,$t2
|
||||
/* f078684: ac6b00b8 */ sw $t3,0xb8($v1)
|
||||
/* f078688: 8d2c0298 */ lw $t4,0x298($t1)
|
||||
/* f07868c: 3c018007 */ lui $at,%hi(var80069948)
|
||||
/* f078690: 05800004 */ bltz $t4,.L0f0786a4
|
||||
/* f078694: 00000000 */ nop
|
||||
/* f078698: 8d2e0038 */ lw $t6,0x38($t1)
|
||||
/* f07869c: 016ec021 */ addu $t8,$t3,$t6
|
||||
/* f0786a0: ac7800b8 */ sw $t8,0xb8($v1)
|
||||
.L0f0786a4:
|
||||
/* f0786a4: c4269948 */ lwc1 $f6,%lo(var80069948)($at)
|
||||
/* f0786a8: 8c6f00b8 */ lw $t7,0xb8($v1)
|
||||
/* f0786ac: 46065202 */ mul.s $f8,$f10,$f6
|
||||
/* f0786b0: 4600410d */ trunc.w.s $f4,$f8
|
||||
/* f0786b4: 440a2000 */ mfc1 $t2,$f4
|
||||
/* f0786b8: 00000000 */ nop
|
||||
/* f0786bc: 01ea082a */ slt $at,$t7,$t2
|
||||
/* f0786c0: 5420000f */ bnezl $at,.L0f078700
|
||||
/* f0786c4: c46e00a4 */ lwc1 $f14,0xa4($v1)
|
||||
/* f0786c8: afa3003c */ sw $v1,0x3c($sp)
|
||||
/* f0786cc: 0fc240ec */ jal alarmActivate
|
||||
/* f0786d0: e7b20034 */ swc1 $f18,0x34($sp)
|
||||
/* f0786d4: 8fa3003c */ lw $v1,0x3c($sp)
|
||||
/* f0786d8: 3c09800a */ lui $t1,%hi(g_Vars)
|
||||
/* f0786dc: c7b20034 */ lwc1 $f18,0x34($sp)
|
||||
/* f0786e0: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
|
||||
/* f0786e4: 10000005 */ b .L0f0786fc
|
||||
/* f0786e8: ac6000b8 */ sw $zero,0xb8($v1)
|
||||
.L0f0786ec:
|
||||
/* f0786ec: 8fac0038 */ lw $t4,0x38($sp)
|
||||
/* f0786f0: 3421ffff */ ori $at,$at,0xffff
|
||||
/* f0786f4: 00415824 */ and $t3,$v0,$at
|
||||
/* f0786f8: ad8b0008 */ sw $t3,0x8($t4)
|
||||
.L0f0786fc:
|
||||
/* f0786fc: c46e00a4 */ lwc1 $f14,0xa4($v1)
|
||||
.L0f078700:
|
||||
/* f078700: 4612703c */ c.lt.s $f14,$f18
|
||||
/* f078704: 00000000 */ nop
|
||||
/* f078708: 45020044 */ bc1fl .L0f07881c
|
||||
/* f07870c: c46000b0 */ lwc1 $f0,0xb0($v1)
|
||||
/* f078710: c46000b0 */ lwc1 $f0,0xb0($v1)
|
||||
/* f078714: 3c017f1b */ lui $at,%hi(var7f1aa488)
|
||||
/* f078718: c426a488 */ lwc1 $f6,%lo(var7f1aa488)($at)
|
||||
/* f07871c: 46000282 */ mul.s $f10,$f0,$f0
|
||||
/* f078720: 3c017f1b */ lui $at,%hi(var7f1aa48c)
|
||||
/* f078724: 46065082 */ mul.s $f2,$f10,$f6
|
||||
/* f078728: 46029201 */ sub.s $f8,$f18,$f2
|
||||
/* f07872c: 460e403e */ c.le.s $f8,$f14
|
||||
/* f078730: 00000000 */ nop
|
||||
/* f078734: 45020010 */ bc1fl .L0f078778
|
||||
/* f078738: c46c00b4 */ lwc1 $f12,0xb4($v1)
|
||||
/* f07873c: c430a48c */ lwc1 $f16,%lo(var7f1aa48c)($at)
|
||||
/* f078740: c524004c */ lwc1 $f4,0x4c($t1)
|
||||
/* f078744: 46048282 */ mul.s $f10,$f16,$f4
|
||||
/* f078748: 460a0181 */ sub.s $f6,$f0,$f10
|
||||
/* f07874c: e46600b0 */ swc1 $f6,0xb0($v1)
|
||||
/* f078750: c46000b0 */ lwc1 $f0,0xb0($v1)
|
||||
/* f078754: 4610003c */ c.lt.s $f0,$f16
|
||||
/* f078758: 00000000 */ nop
|
||||
/* f07875c: 45000003 */ bc1f .L0f07876c
|
||||
/* f078760: 00000000 */ nop
|
||||
/* f078764: e47000b0 */ swc1 $f16,0xb0($v1)
|
||||
/* f078768: c46000b0 */ lwc1 $f0,0xb0($v1)
|
||||
.L0f07876c:
|
||||
/* f07876c: 1000001c */ b .L0f0787e0
|
||||
/* f078770: c46e00a4 */ lwc1 $f14,0xa4($v1)
|
||||
/* f078774: c46c00b4 */ lwc1 $f12,0xb4($v1)
|
||||
.L0f078778:
|
||||
/* f078778: 3c017f1b */ lui $at,%hi(var7f1aa490)
|
||||
/* f07877c: 460c003c */ c.lt.s $f0,$f12
|
||||
/* f078780: 00000000 */ nop
|
||||
/* f078784: 45020017 */ bc1fl .L0f0787e4
|
||||
/* f078788: c52a004c */ lwc1 $f10,0x4c($t1)
|
||||
/* f07878c: c430a490 */ lwc1 $f16,%lo(var7f1aa490)($at)
|
||||
/* f078790: c528004c */ lwc1 $f8,0x4c($t1)
|
||||
/* f078794: 46088102 */ mul.s $f4,$f16,$f8
|
||||
/* f078798: 46040080 */ add.s $f2,$f0,$f4
|
||||
/* f07879c: 4602603c */ c.lt.s $f12,$f2
|
||||
/* f0787a0: 00000000 */ nop
|
||||
/* f0787a4: 45000002 */ bc1f .L0f0787b0
|
||||
/* f0787a8: 00000000 */ nop
|
||||
/* f0787ac: 46006086 */ mov.s $f2,$f12
|
||||
.L0f0787b0:
|
||||
/* f0787b0: 46021282 */ mul.s $f10,$f2,$f2
|
||||
/* f0787b4: 3c017f1b */ lui $at,%hi(var7f1aa494)
|
||||
/* f0787b8: c426a494 */ lwc1 $f6,%lo(var7f1aa494)($at)
|
||||
/* f0787bc: 46065202 */ mul.s $f8,$f10,$f6
|
||||
/* f0787c0: 46089101 */ sub.s $f4,$f18,$f8
|
||||
/* f0787c4: 4604703c */ c.lt.s $f14,$f4
|
||||
/* f0787c8: 00000000 */ nop
|
||||
/* f0787cc: 45020005 */ bc1fl .L0f0787e4
|
||||
/* f0787d0: c52a004c */ lwc1 $f10,0x4c($t1)
|
||||
/* f0787d4: e46200b0 */ swc1 $f2,0xb0($v1)
|
||||
/* f0787d8: c46000b0 */ lwc1 $f0,0xb0($v1)
|
||||
/* f0787dc: c46e00a4 */ lwc1 $f14,0xa4($v1)
|
||||
.L0f0787e0:
|
||||
/* f0787e0: c52a004c */ lwc1 $f10,0x4c($t1)
|
||||
.L0f0787e4:
|
||||
/* f0787e4: 460a0182 */ mul.s $f6,$f0,$f10
|
||||
/* f0787e8: 46067200 */ add.s $f8,$f14,$f6
|
||||
/* f0787ec: e46800a4 */ swc1 $f8,0xa4($v1)
|
||||
/* f0787f0: c46400a4 */ lwc1 $f4,0xa4($v1)
|
||||
/* f0787f4: 4604903e */ c.le.s $f18,$f4
|
||||
/* f0787f8: 00000000 */ nop
|
||||
/* f0787fc: 45020049 */ bc1fl .L0f078924
|
||||
/* f078800: 8fbf001c */ lw $ra,0x1c($sp)
|
||||
/* f078804: 44805000 */ mtc1 $zero,$f10
|
||||
/* f078808: e47200a4 */ swc1 $f18,0xa4($v1)
|
||||
/* f07880c: a460005e */ sh $zero,0x5e($v1)
|
||||
/* f078810: 10000043 */ b .L0f078920
|
||||
/* f078814: e46a00b0 */ swc1 $f10,0xb0($v1)
|
||||
/* f078818: c46000b0 */ lwc1 $f0,0xb0($v1)
|
||||
.L0f07881c:
|
||||
/* f07881c: 3c017f1b */ lui $at,%hi(var7f1aa498)
|
||||
/* f078820: c428a498 */ lwc1 $f8,%lo(var7f1aa498)($at)
|
||||
/* f078824: 46000182 */ mul.s $f6,$f0,$f0
|
||||
/* f078828: 3c017f1b */ lui $at,%hi(var7f1aa49c)
|
||||
/* f07882c: 240d0001 */ addiu $t5,$zero,0x1
|
||||
/* f078830: 46083082 */ mul.s $f2,$f6,$f8
|
||||
/* f078834: 46029100 */ add.s $f4,$f18,$f2
|
||||
/* f078838: 4604703e */ c.le.s $f14,$f4
|
||||
/* f07883c: 00000000 */ nop
|
||||
/* f078840: 45020010 */ bc1fl .L0f078884
|
||||
/* f078844: c46c00b4 */ lwc1 $f12,0xb4($v1)
|
||||
/* f078848: c430a49c */ lwc1 $f16,%lo(var7f1aa49c)($at)
|
||||
/* f07884c: c52a004c */ lwc1 $f10,0x4c($t1)
|
||||
/* f078850: 460a8182 */ mul.s $f6,$f16,$f10
|
||||
/* f078854: 46060201 */ sub.s $f8,$f0,$f6
|
||||
/* f078858: e46800b0 */ swc1 $f8,0xb0($v1)
|
||||
/* f07885c: c46000b0 */ lwc1 $f0,0xb0($v1)
|
||||
/* f078860: 4610003c */ c.lt.s $f0,$f16
|
||||
/* f078864: 00000000 */ nop
|
||||
/* f078868: 45000003 */ bc1f .L0f078878
|
||||
/* f07886c: 00000000 */ nop
|
||||
/* f078870: e47000b0 */ swc1 $f16,0xb0($v1)
|
||||
/* f078874: c46000b0 */ lwc1 $f0,0xb0($v1)
|
||||
.L0f078878:
|
||||
/* f078878: 1000001c */ b .L0f0788ec
|
||||
/* f07887c: c46e00a4 */ lwc1 $f14,0xa4($v1)
|
||||
/* f078880: c46c00b4 */ lwc1 $f12,0xb4($v1)
|
||||
.L0f078884:
|
||||
/* f078884: 3c017f1b */ lui $at,%hi(var7f1aa4a0)
|
||||
/* f078888: 460c003c */ c.lt.s $f0,$f12
|
||||
/* f07888c: 00000000 */ nop
|
||||
/* f078890: 45020017 */ bc1fl .L0f0788f0
|
||||
/* f078894: c526004c */ lwc1 $f6,0x4c($t1)
|
||||
/* f078898: c430a4a0 */ lwc1 $f16,%lo(var7f1aa4a0)($at)
|
||||
/* f07889c: c524004c */ lwc1 $f4,0x4c($t1)
|
||||
/* f0788a0: 46048282 */ mul.s $f10,$f16,$f4
|
||||
/* f0788a4: 460a0080 */ add.s $f2,$f0,$f10
|
||||
/* f0788a8: 4602603c */ c.lt.s $f12,$f2
|
||||
/* f0788ac: 00000000 */ nop
|
||||
/* f0788b0: 45000002 */ bc1f .L0f0788bc
|
||||
/* f0788b4: 00000000 */ nop
|
||||
/* f0788b8: 46006086 */ mov.s $f2,$f12
|
||||
.L0f0788bc:
|
||||
/* f0788bc: 46021182 */ mul.s $f6,$f2,$f2
|
||||
/* f0788c0: 3c017f1b */ lui $at,%hi(var7f1aa4a4)
|
||||
/* f0788c4: c428a4a4 */ lwc1 $f8,%lo(var7f1aa4a4)($at)
|
||||
/* f0788c8: 46083102 */ mul.s $f4,$f6,$f8
|
||||
/* f0788cc: 46049280 */ add.s $f10,$f18,$f4
|
||||
/* f0788d0: 460e503c */ c.lt.s $f10,$f14
|
||||
/* f0788d4: 00000000 */ nop
|
||||
/* f0788d8: 45020005 */ bc1fl .L0f0788f0
|
||||
/* f0788dc: c526004c */ lwc1 $f6,0x4c($t1)
|
||||
/* f0788e0: e46200b0 */ swc1 $f2,0xb0($v1)
|
||||
/* f0788e4: c46000b0 */ lwc1 $f0,0xb0($v1)
|
||||
/* f0788e8: c46e00a4 */ lwc1 $f14,0xa4($v1)
|
||||
.L0f0788ec:
|
||||
/* f0788ec: c526004c */ lwc1 $f6,0x4c($t1)
|
||||
.L0f0788f0:
|
||||
/* f0788f0: 46060202 */ mul.s $f8,$f0,$f6
|
||||
/* f0788f4: 46087101 */ sub.s $f4,$f14,$f8
|
||||
/* f0788f8: e46400a4 */ swc1 $f4,0xa4($v1)
|
||||
/* f0788fc: c46a00a4 */ lwc1 $f10,0xa4($v1)
|
||||
/* f078900: 4612503e */ c.le.s $f10,$f18
|
||||
/* f078904: 00000000 */ nop
|
||||
/* f078908: 45020006 */ bc1fl .L0f078924
|
||||
/* f07890c: 8fbf001c */ lw $ra,0x1c($sp)
|
||||
/* f078910: 44803000 */ mtc1 $zero,$f6
|
||||
/* f078914: e47200a4 */ swc1 $f18,0xa4($v1)
|
||||
/* f078918: a46d005e */ sh $t5,0x5e($v1)
|
||||
/* f07891c: e46600b0 */ swc1 $f6,0xb0($v1)
|
||||
.L0f078920:
|
||||
/* f078920: 8fbf001c */ lw $ra,0x1c($sp)
|
||||
.L0f078924:
|
||||
/* f078924: 27bd0040 */ addiu $sp,$sp,0x40
|
||||
/* f078928: 03e00008 */ jr $ra
|
||||
/* f07892c: 00000000 */ nop
|
||||
);
|
||||
void cameraTick(struct prop *camprop)
|
||||
{
|
||||
struct cameraobj *camera = (struct cameraobj *)camprop->obj;
|
||||
struct defaultobj *obj = camprop->obj;
|
||||
f32 yaw;
|
||||
struct prop *playerprop;
|
||||
f32 xdist;
|
||||
f32 ydist;
|
||||
f32 zdist;
|
||||
bool canseeplayer = true;
|
||||
|
||||
// If playing in coop mode, cycle between players in alternating frames
|
||||
if (g_Vars.coopplayernum >= 0) {
|
||||
if (g_Vars.lvframenum & 1) {
|
||||
playerprop = g_Vars.bond->prop;
|
||||
} else {
|
||||
playerprop = g_Vars.coop->prop;
|
||||
}
|
||||
} else {
|
||||
playerprop = g_Vars.bond->prop;
|
||||
}
|
||||
|
||||
// Check distance
|
||||
xdist = playerprop->pos.x - camprop->pos.x;
|
||||
ydist = playerprop->pos.y - camprop->pos.y;
|
||||
zdist = playerprop->pos.z - camprop->pos.z;
|
||||
|
||||
yaw = camera->toleft ? camera->yleft : camera->yright;
|
||||
|
||||
if (camera->maxdist > 0) {
|
||||
if (xdist * xdist + ydist * ydist + zdist * zdist > camera->maxdist * camera->maxdist) {
|
||||
canseeplayer = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (g_Vars.unk000324 == 0
|
||||
|| (obj->flags & OBJFLAG_CAMERA_DISABLED)
|
||||
|| (playerprop->chr->hidden & CHRHFLAG_CLOAKED)) {
|
||||
canseeplayer = false;
|
||||
}
|
||||
|
||||
// Check horizontal angle
|
||||
if (canseeplayer) {
|
||||
f32 angle = func0f096750(xdist, zdist);
|
||||
f32 yrot = camera->yrot;
|
||||
f32 finalangle;
|
||||
|
||||
if (yrot < 0) {
|
||||
yrot += M_BADTAU;
|
||||
} else if (yrot >= M_BADTAU) {
|
||||
yrot -= M_BADTAU;
|
||||
}
|
||||
|
||||
yrot += camera->yzero;
|
||||
|
||||
if (yrot >= M_BADTAU) {
|
||||
yrot -= M_BADTAU;
|
||||
}
|
||||
|
||||
finalangle = angle - yrot;
|
||||
|
||||
if (angle < yrot) {
|
||||
finalangle += M_BADTAU;
|
||||
}
|
||||
|
||||
finalangle -= M_BADPI;
|
||||
|
||||
if (finalangle < 0) {
|
||||
finalangle += M_BADTAU;
|
||||
}
|
||||
|
||||
if (finalangle > M_BADPI) {
|
||||
finalangle -= M_BADTAU;
|
||||
}
|
||||
|
||||
if (finalangle > 0.7852731347084f || finalangle < -0.7852731347084f) {
|
||||
canseeplayer = false;
|
||||
}
|
||||
}
|
||||
|
||||
// Check vertical angle
|
||||
if (canseeplayer) {
|
||||
f32 angle = func0f096750(ydist, sqrtf(xdist * xdist + zdist * zdist));
|
||||
f32 finalangle = angle - camera->xzero;
|
||||
|
||||
if (angle < camera->xzero) {
|
||||
finalangle = angle - camera->xzero + M_BADTAU;
|
||||
}
|
||||
|
||||
if (finalangle > M_BADTAU) {
|
||||
finalangle -= M_BADTAU;
|
||||
}
|
||||
|
||||
if (finalangle > M_BADPI) {
|
||||
finalangle -= M_BADTAU;
|
||||
}
|
||||
|
||||
if (finalangle);
|
||||
|
||||
if (finalangle > 0.7852731347084f || finalangle < -0.7852731347084f) {
|
||||
canseeplayer = false;
|
||||
}
|
||||
}
|
||||
|
||||
// Check line of sight
|
||||
if (canseeplayer) {
|
||||
func0f0c1e54(playerprop, false);
|
||||
|
||||
if (!hasLineOfSight(&camprop->pos, camprop->rooms, &playerprop->pos, playerprop->rooms, 315, 8)) {
|
||||
canseeplayer = false;
|
||||
}
|
||||
|
||||
func0f0c1e54(playerprop, true);
|
||||
}
|
||||
|
||||
if (canseeplayer) {
|
||||
obj->flags |= OBJFLAG_CAMERA_BONDINVIEW;
|
||||
camera->seebondtime60 += g_Vars.lvupdate240_60;
|
||||
|
||||
if (g_Vars.coopplayernum >= 0) {
|
||||
camera->seebondtime60 += g_Vars.lvupdate240_60;
|
||||
}
|
||||
|
||||
if (camera->seebondtime60 >= (s32)(SECSTOTIME60(5) * g_CameraWaitMultiplier)) {
|
||||
alarmActivate();
|
||||
camera->seebondtime60 = 0;
|
||||
}
|
||||
} else {
|
||||
obj->flags &= ~OBJFLAG_CAMERA_BONDINVIEW;
|
||||
}
|
||||
|
||||
// Update yaw
|
||||
if (camera->yrot < yaw) {
|
||||
f32 tmp = camera->yspeed * camera->yspeed * 764.06536865234f;
|
||||
|
||||
if (camera->yrot >= yaw - tmp) {
|
||||
camera->yspeed -= 0.00065439427271485f * g_Vars.lvupdate240freal;
|
||||
|
||||
if (camera->yspeed < 0.00065439427271485f) {
|
||||
camera->yspeed = 0.00065439427271485f;
|
||||
}
|
||||
} else if (camera->yspeed < camera->ymaxspeed) {
|
||||
f32 newspeed = camera->yspeed + 0.00065439427271485f * g_Vars.lvupdate240freal;
|
||||
|
||||
if (newspeed > camera->ymaxspeed) {
|
||||
newspeed = camera->ymaxspeed;
|
||||
}
|
||||
|
||||
if (camera->yrot < yaw - newspeed * newspeed * 764.06536865234f) {
|
||||
camera->yspeed = newspeed;
|
||||
}
|
||||
}
|
||||
|
||||
camera->yrot += camera->yspeed * g_Vars.lvupdate240freal;
|
||||
|
||||
if (camera->yrot >= yaw) {
|
||||
camera->yrot = yaw;
|
||||
camera->toleft = false;
|
||||
camera->yspeed = 0;
|
||||
}
|
||||
} else {
|
||||
f32 tmp = camera->yspeed * camera->yspeed * 764.06536865234f;
|
||||
|
||||
if (camera->yrot <= yaw + tmp) {
|
||||
camera->yspeed -= 0.00065439427271485f * g_Vars.lvupdate240freal;
|
||||
|
||||
if (camera->yspeed < 0.00065439427271485f) {
|
||||
camera->yspeed = 0.00065439427271485f;
|
||||
}
|
||||
} else if (camera->yspeed < camera->ymaxspeed) {
|
||||
f32 newspeed = camera->yspeed + 0.00065439427271485f * g_Vars.lvupdate240freal;
|
||||
|
||||
if (newspeed > camera->ymaxspeed) {
|
||||
newspeed = camera->ymaxspeed;
|
||||
}
|
||||
|
||||
if (camera->yrot > yaw + newspeed * newspeed * 764.06536865234f) {
|
||||
camera->yspeed = newspeed;
|
||||
}
|
||||
}
|
||||
|
||||
camera->yrot -= camera->yspeed * g_Vars.lvupdate240freal;
|
||||
|
||||
if (camera->yrot <= yaw) {
|
||||
camera->yrot = yaw;
|
||||
camera->toleft = true;
|
||||
camera->yspeed = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f078930
|
||||
|
|
|
|||
|
|
@ -2375,7 +2375,9 @@
|
|||
#define OBJFLAG_WEAPON_10000000 0x10000000
|
||||
#define OBJFLAG_ESCSTEP_ZALIGNED 0x10000000
|
||||
#define OBJFLAG_20000000 0x20000000 // Editor: "Door Opens Backwards/Special Function/Conceal Weapon"
|
||||
#define OBJFLAG_CAMERA_DISABLED 0x20000000
|
||||
#define OBJFLAG_40000000 0x40000000
|
||||
#define OBJFLAG_CAMERA_BONDINVIEW 0x40000000
|
||||
#define OBJFLAG_DOOR_KEEPOPEN 0x40000000 // Editor: "Door open by default/Empty weapon"
|
||||
#define OBJFLAG_LIFT_TRIGGERDISABLE 0x40000000
|
||||
#define OBJFLAG_80000000 0x80000000
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ extern u32 var800698f4;
|
|||
extern u32 var80069914;
|
||||
extern u32 var80069930;
|
||||
extern s32 var80069934;
|
||||
extern f32 var80069948;
|
||||
extern f32 g_CameraWaitMultiplier;
|
||||
extern f32 var8006994c;
|
||||
extern f32 var80069950;
|
||||
extern f32 var80069954;
|
||||
|
|
|
|||
Loading…
Reference in New Issue