mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-06-03 10:31:02 -04:00
Rename many hand struct properties
This commit is contained in:
+1
-1
@@ -1392,7 +1392,7 @@ void bbikeTick(void)
|
||||
}
|
||||
|
||||
func0f09d8dc(breathing, 0, sp70, 0.0f, g_Vars.currentplayer->speedsideways);
|
||||
func0f0a2290(g_Vars.currentplayer->vv_verta360 * 0.017450513318181f);
|
||||
handSetAdjustPos(g_Vars.currentplayer->vv_verta360 * 0.017450513318181f);
|
||||
currentPlayerUpdatePerimInfo();
|
||||
bmove0f0cb8c4(g_Vars.currentplayer);
|
||||
objectiveCheckRoomEntered(g_Vars.currentplayer->prop->rooms[0]);
|
||||
|
||||
@@ -24,7 +24,7 @@ void bcutsceneInit(void)
|
||||
hand->audiohandle = NULL;
|
||||
}
|
||||
|
||||
hand->unk063c = 0;
|
||||
hand->firing = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -2078,7 +2078,7 @@ glabel var7f1ada2c
|
||||
/* f0cee9c: c424da2c */ lwc1 $f4,%lo(var7f1ada2c)($at)
|
||||
/* f0ceea0: c7280158 */ lwc1 $f8,0x158($t9)
|
||||
/* f0ceea4: 46044302 */ mul.s $f12,$f8,$f4
|
||||
/* f0ceea8: 0fc288a4 */ jal func0f0a2290
|
||||
/* f0ceea8: 0fc288a4 */ jal handSetAdjustPos
|
||||
/* f0ceeac: 00000000 */ nop
|
||||
/* f0ceeb0: 8fbf0024 */ lw $ra,0x24($sp)
|
||||
.L0f0ceeb4:
|
||||
|
||||
+15
-17
@@ -2909,22 +2909,22 @@ glabel var7f1ad8e4
|
||||
/* f0ca944: 8e580324 */ lw $t8,0x324($s2)
|
||||
/* f0ca948: 5300002b */ beqzl $t8,.L0f0ca9f8
|
||||
/* f0ca94c: 24040002 */ addiu $a0,$zero,0x2
|
||||
/* f0ca950: 0fc2883f */ jal handIsAttackingOnThisTick
|
||||
/* f0ca950: 0fc2883f */ jal handIsFiring
|
||||
/* f0ca954: 00002025 */ or $a0,$zero,$zero
|
||||
/* f0ca958: 54400006 */ bnezl $v0,.L0f0ca974
|
||||
/* f0ca95c: 44805000 */ mtc1 $zero,$f10
|
||||
/* f0ca960: 0fc2883f */ jal handIsAttackingOnThisTick
|
||||
/* f0ca960: 0fc2883f */ jal handIsFiring
|
||||
/* f0ca964: 24040001 */ addiu $a0,$zero,0x1
|
||||
/* f0ca968: 50400023 */ beqzl $v0,.L0f0ca9f8
|
||||
/* f0ca96c: 24040002 */ addiu $a0,$zero,0x2
|
||||
/* f0ca970: 44805000 */ mtc1 $zero,$f10
|
||||
.L0f0ca974:
|
||||
/* f0ca974: 00002025 */ or $a0,$zero,$zero
|
||||
/* f0ca978: 0fc2883f */ jal handIsAttackingOnThisTick
|
||||
/* f0ca978: 0fc2883f */ jal handIsFiring
|
||||
/* f0ca97c: e7aa00b4 */ swc1 $f10,0xb4($sp)
|
||||
/* f0ca980: 1040000c */ beqz $v0,.L0f0ca9b4
|
||||
/* f0ca984: 00000000 */ nop
|
||||
/* f0ca988: 0fc273d6 */ jal func0f09cf58
|
||||
/* f0ca988: 0fc273d6 */ jal handGetNoiseRadius
|
||||
/* f0ca98c: 00002025 */ or $a0,$zero,$zero
|
||||
/* f0ca990: 44803000 */ mtc1 $zero,$f6
|
||||
/* f0ca994: 00000000 */ nop
|
||||
@@ -2932,22 +2932,22 @@ glabel var7f1ad8e4
|
||||
/* f0ca99c: 00000000 */ nop
|
||||
/* f0ca9a0: 45000004 */ bc1f .L0f0ca9b4
|
||||
/* f0ca9a4: 00000000 */ nop
|
||||
/* f0ca9a8: 0fc273d6 */ jal func0f09cf58
|
||||
/* f0ca9a8: 0fc273d6 */ jal handGetNoiseRadius
|
||||
/* f0ca9ac: 00002025 */ or $a0,$zero,$zero
|
||||
/* f0ca9b0: e7a000b4 */ swc1 $f0,0xb4($sp)
|
||||
.L0f0ca9b4:
|
||||
/* f0ca9b4: 0fc2883f */ jal handIsAttackingOnThisTick
|
||||
/* f0ca9b4: 0fc2883f */ jal handIsFiring
|
||||
/* f0ca9b8: 24040001 */ addiu $a0,$zero,0x1
|
||||
/* f0ca9bc: 1040000b */ beqz $v0,.L0f0ca9ec
|
||||
/* f0ca9c0: 00000000 */ nop
|
||||
/* f0ca9c4: 0fc273d6 */ jal func0f09cf58
|
||||
/* f0ca9c4: 0fc273d6 */ jal handGetNoiseRadius
|
||||
/* f0ca9c8: 24040001 */ addiu $a0,$zero,0x1
|
||||
/* f0ca9cc: c7a800b4 */ lwc1 $f8,0xb4($sp)
|
||||
/* f0ca9d0: 4600403c */ c.lt.s $f8,$f0
|
||||
/* f0ca9d4: 00000000 */ nop
|
||||
/* f0ca9d8: 45000004 */ bc1f .L0f0ca9ec
|
||||
/* f0ca9dc: 00000000 */ nop
|
||||
/* f0ca9e0: 0fc273d6 */ jal func0f09cf58
|
||||
/* f0ca9e0: 0fc273d6 */ jal handGetNoiseRadius
|
||||
/* f0ca9e4: 24040001 */ addiu $a0,$zero,0x1
|
||||
/* f0ca9e8: e7a000b4 */ swc1 $f0,0xb4($sp)
|
||||
.L0f0ca9ec:
|
||||
@@ -4861,17 +4861,15 @@ glabel var7f1ad8e4
|
||||
// currentPlayerTickInventory(movedata.triggeron);
|
||||
//
|
||||
// // a944
|
||||
// // I think this is checking which gun is making the loudest noise and is
|
||||
// // alerting nearby chrs to it.
|
||||
// if (g_Vars.bondvisible && (handIsAttackingOnThisTick(0) || handIsAttackingOnThisTick(1))) {
|
||||
// if (g_Vars.bondvisible && (handIsFiring(0) || handIsFiring(1))) {
|
||||
// spb4 = 0;
|
||||
//
|
||||
// if (handIsAttackingOnThisTick(0) && func0f09cf58(0) > spb4) {
|
||||
// spb4 = func0f09cf58(0);
|
||||
// if (handIsFiring(0) && handGetNoiseRadius(0) > spb4) {
|
||||
// spb4 = handGetNoiseRadius(0);
|
||||
// }
|
||||
//
|
||||
// if (handIsAttackingOnThisTick(1) && func0f09cf58(1) > spb4) {
|
||||
// spb4 = func0f09cf58(1);
|
||||
// if (handIsFiring(1) && handGetNoiseRadius(1) > spb4) {
|
||||
// spb4 = handGetNoiseRadius(1);
|
||||
// }
|
||||
//
|
||||
// func0f028590(spb4);
|
||||
@@ -5126,8 +5124,8 @@ glabel var7f1ad8e4
|
||||
// bmoveUpdateSpeedTheta();
|
||||
//
|
||||
// if (movedata.detonating) {
|
||||
// g_Vars.currentplayer->hands[HAND_RIGHT].unk0658 = 0;
|
||||
// g_Vars.currentplayer->hands[HAND_RIGHT].unk065c = 0;
|
||||
// g_Vars.currentplayer->hands[HAND_RIGHT].mode = 0;
|
||||
// g_Vars.currentplayer->hands[HAND_RIGHT].modenext = 0;
|
||||
// playerActivateRemoteMineDetonator(g_Vars.currentplayernum);
|
||||
// }
|
||||
//
|
||||
|
||||
+1
-1
@@ -2709,7 +2709,7 @@ glabel var7f1ad854
|
||||
/* f0c7834: c42ad854 */ lwc1 $f10,%lo(var7f1ad854)($at)
|
||||
/* f0c7838: c5a40158 */ lwc1 $f4,0x158($t5)
|
||||
/* f0c783c: 460a2302 */ mul.s $f12,$f4,$f10
|
||||
/* f0c7840: 0fc288a4 */ jal func0f0a2290
|
||||
/* f0c7840: 0fc288a4 */ jal handSetAdjustPos
|
||||
/* f0c7844: 00000000 */ nop
|
||||
/* f0c7848: 8fbf0024 */ lw $ra,0x24($sp)
|
||||
/* f0c784c: d7b40018 */ ldc1 $f20,0x18($sp)
|
||||
|
||||
+2
-2
@@ -4259,11 +4259,11 @@ bool propchrDoFireslotThing(struct prop *prop)
|
||||
struct chrdata *chr = prop->chr;
|
||||
|
||||
if (chr->fireslot[0] >= 0) {
|
||||
bullettailTick(&g_Fireslots[chr->fireslot[0]].bullettail);
|
||||
beamTick(&g_Fireslots[chr->fireslot[0]].beam);
|
||||
}
|
||||
|
||||
if (chr->fireslot[1] >= 0) {
|
||||
bullettailTick(&g_Fireslots[chr->fireslot[1]].bullettail);
|
||||
beamTick(&g_Fireslots[chr->fireslot[1]].beam);
|
||||
}
|
||||
|
||||
if (chr->aibot && chr->aibot->unk058 > 0) {
|
||||
|
||||
@@ -18781,10 +18781,10 @@ glabel func0f041a74
|
||||
/* f041b78: a058003f */ sb $t8,0x3f($v0)
|
||||
.L0f041b7c:
|
||||
/* f041b7c: 8e190348 */ lw $t9,0x348($s0)
|
||||
/* f041b80: 0fc2b6ef */ jal bullettailTick
|
||||
/* f041b80: 0fc2b6ef */ jal beamTick
|
||||
/* f041b84: 8f240004 */ lw $a0,0x4($t9)
|
||||
/* f041b88: 8e08034c */ lw $t0,0x34c($s0)
|
||||
/* f041b8c: 0fc2b6ef */ jal bullettailTick
|
||||
/* f041b8c: 0fc2b6ef */ jal beamTick
|
||||
/* f041b90: 8d040004 */ lw $a0,0x4($t0)
|
||||
/* f041b94: 10000027 */ b .L0f041c34
|
||||
/* f041b98: 8fbf0024 */ lw $ra,0x24($sp)
|
||||
@@ -19562,7 +19562,7 @@ void robotAttack(struct chrdata *chr)
|
||||
if (chr->unk348 && chr->unk34c) {
|
||||
chr->actiontype = ACT_ROBOTATTACK;
|
||||
|
||||
chr->unk348->bullettail->age = -1;
|
||||
chr->unk348->beam->age = -1;
|
||||
chr->unk348->unk00 = random() % 3;
|
||||
chr->unk348->unk01 = 0;
|
||||
chr->unk348->unk08 = -1;
|
||||
@@ -19585,7 +19585,7 @@ void robotAttack(struct chrdata *chr)
|
||||
chr->act_robotattack.unk05c = 90;
|
||||
chr->act_robotattack.unk06c = 0;
|
||||
|
||||
chr->unk34c->bullettail->age = -1;
|
||||
chr->unk34c->beam->age = -1;
|
||||
chr->unk34c->unk00 = random() % 3;
|
||||
chr->unk34c->unk01 = 0;
|
||||
chr->unk34c->unk08 = -1;
|
||||
|
||||
+1
-1
@@ -1208,7 +1208,7 @@ Gfx *coreRender(Gfx *gdl)
|
||||
func0f0641f4();
|
||||
gdl = bgRender(gdl);
|
||||
func0f028498(var80075d68 == 15 || var8005f020);
|
||||
gdl = propsRenderBulletTails(gdl);
|
||||
gdl = propsRenderBeams(gdl);
|
||||
gdl = shardsRender(gdl);
|
||||
gdl = sparksRender(gdl);
|
||||
gdl = weatherRender(gdl);
|
||||
|
||||
+1
-1
@@ -3160,7 +3160,7 @@ void func0f004314(void)
|
||||
|
||||
func0f005bb0();
|
||||
|
||||
if (hand1->torchon || hand2->torchon) {
|
||||
if (hand1->flashon || hand2->flashon) {
|
||||
roomAdjustLighting(g_Vars.currentplayer->prop->rooms[0], 64, 80);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1127,8 +1127,8 @@ void setupAutogun(struct autogunobj *autogun, s32 cmdindex)
|
||||
autogun->unk84 = *(s32 *)&autogun->unk84 * 100.0f / 65536.0f;
|
||||
autogun->unk64 = *(s32 *)&autogun->unk64 * M_BADTAU / 65536.0f;
|
||||
autogun->unk68 = *(s32 *)&autogun->unk68 * M_BADTAU / 65536.0f;
|
||||
autogun->bullettail = malloc(ALIGN16(sizeof(struct bullettail)), MEMPOOL_STAGE);
|
||||
autogun->bullettail->age = -1;
|
||||
autogun->beam = malloc(ALIGN16(sizeof(struct beam)), MEMPOOL_STAGE);
|
||||
autogun->beam->age = -1;
|
||||
autogun->unk5e = 0;
|
||||
autogun->ammoquantity = 255;
|
||||
autogun->unka0 = 0;
|
||||
@@ -2607,8 +2607,8 @@ void setupParseObjects(s32 stagenum)
|
||||
chopper->cw = 0;
|
||||
chopper->weaponsarmed = true;
|
||||
chopper->fireslotthing = malloc(sizeof(struct fireslotthing), MEMPOOL_STAGE);
|
||||
chopper->fireslotthing->bullettail = malloc(ALIGN16(sizeof(struct bullettail)), MEMPOOL_STAGE);
|
||||
chopper->fireslotthing->bullettail->age = -1;
|
||||
chopper->fireslotthing->beam = malloc(ALIGN16(sizeof(struct beam)), MEMPOOL_STAGE);
|
||||
chopper->fireslotthing->beam->age = -1;
|
||||
chopper->fireslotthing->unk08 = -1;
|
||||
chopper->fireslotthing->unk00 = 0;
|
||||
chopper->fireslotthing->unk01 = 0;
|
||||
|
||||
+122
-122
@@ -15,130 +15,130 @@ void func0f010bb0(void)
|
||||
s32 i;
|
||||
|
||||
struct hand hand = {
|
||||
0, // weaponnum
|
||||
0, // unk0639
|
||||
0, // unk063a
|
||||
0, // weaponfunc
|
||||
0, // unk063c
|
||||
0, // torchon
|
||||
1, // unk063e
|
||||
0, // unk063f
|
||||
0, // unk0640
|
||||
0, // firing
|
||||
0, // prevfiring
|
||||
0, // unk064c
|
||||
0, // unk0650
|
||||
0, // unk0654
|
||||
0, // unk0658
|
||||
0, // unk065c
|
||||
0, // unk0660
|
||||
0, // unk0664
|
||||
0, // unk0668
|
||||
0, // unk066c
|
||||
0, // unk0670
|
||||
0, // unk0674
|
||||
0, // unk0678
|
||||
0, // unk067c
|
||||
0, // unk0680
|
||||
0, // unk0684
|
||||
0, // unk0688
|
||||
0, // unk068c
|
||||
0, // unk0690
|
||||
0, // unk0694
|
||||
0, // unk0698
|
||||
0, // unk069c
|
||||
0, // unk06a0
|
||||
0, // unk06a4
|
||||
0, // unk06a8
|
||||
1, // unk06ac
|
||||
0, // unk06b0
|
||||
0, // unk06b4
|
||||
0, // unk06b8
|
||||
0, // unk06bc
|
||||
1, // unk06c0
|
||||
0, // unk06c4
|
||||
0, // unk06c8
|
||||
0, // unk06cc
|
||||
0, // unk06d0
|
||||
1, // unk06d4
|
||||
0, // unk06d8
|
||||
0, // unk06dc
|
||||
0, // unk06e0
|
||||
0, // unk06e4
|
||||
1, // unk06e8
|
||||
0, // unk06ec
|
||||
0, // unk06f0
|
||||
0, // unk06f4
|
||||
0, // unk06f8
|
||||
0, // unk06fc
|
||||
0, // unk0700
|
||||
-1, // unk0704
|
||||
0, // unk0708
|
||||
1, // unk070c
|
||||
0, // unk0710
|
||||
0, // unk0714
|
||||
0, // unk0718
|
||||
0, // unk071c
|
||||
0, // unk0720
|
||||
0, // unk0724
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1, // gunon
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1, // unk06ac
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1, // unk06c0
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1, // unk06d4
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1, // unk06e8
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
-1, // unk0704
|
||||
0,
|
||||
1, // unk070c
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
-19.999996185303f, // unk0728
|
||||
0, // unk072c
|
||||
0,
|
||||
19.999996185303f, // unk0730
|
||||
0, // unk0734
|
||||
0, // unk0738
|
||||
0, // unk073c
|
||||
0, // unk0740
|
||||
0, // unk0744
|
||||
0, // unk0748
|
||||
0, // unk074c
|
||||
0, // unk0750
|
||||
0, // unk0754
|
||||
0, // unk0758
|
||||
0, // unk075c
|
||||
0, // unk0760
|
||||
0, // unk0764
|
||||
0, // unk0768
|
||||
0, // unk076c
|
||||
-1, // unk0770
|
||||
0, // unk0774
|
||||
0, // unk0778
|
||||
-1, // unk077c
|
||||
0, // unk0780
|
||||
0, // unk0784
|
||||
-1, // unk0788
|
||||
0, // unk078c
|
||||
0, // unk0790
|
||||
-1, // unk0794
|
||||
0, // unk0798
|
||||
1, // unk079c
|
||||
0, // unk07a0
|
||||
0, // unk07a4
|
||||
1, // unk07a8
|
||||
0, // unk07ac
|
||||
0, // unk07b0
|
||||
1, // unk07b4
|
||||
0, // unk07b8
|
||||
0, // unk07bc
|
||||
1, // unk07c0
|
||||
0, // unk07c4
|
||||
0, // unk07c8
|
||||
0, // unk07cc
|
||||
1, // unk07d0
|
||||
1, // unk07d4
|
||||
0, // unk07d8
|
||||
0, // unk07dc
|
||||
0, // unk07e0
|
||||
0, // unk07e4
|
||||
0, // unk07e8
|
||||
0, // unk07ec
|
||||
0, // unk07f0
|
||||
0, // xoffset
|
||||
{0, 0, 1000}, // unk07f8
|
||||
0, // audiohandle2
|
||||
0, // unk0808
|
||||
0, // unk080c
|
||||
0, // unk0810
|
||||
{-1}, // bullettail
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
-1, // unk0770
|
||||
0,
|
||||
0,
|
||||
-1, // unk077c
|
||||
0,
|
||||
0,
|
||||
-1, // unk0788
|
||||
0,
|
||||
0,
|
||||
-1, // unk0794
|
||||
0,
|
||||
1, // unk079c
|
||||
0,
|
||||
0,
|
||||
1, // unk07a8
|
||||
0,
|
||||
0,
|
||||
1, // unk07b4
|
||||
0,
|
||||
0,
|
||||
1, // unk07c0
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1, // unk07d0
|
||||
1, // unk07d4
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
{0, 0, 1000}, // unk07f8
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
{-1}, // beam
|
||||
};
|
||||
|
||||
if (IS4MB() && PLAYERCOUNT() == 2) {
|
||||
|
||||
+58
-59
@@ -1240,7 +1240,7 @@ bool func0f098884(struct remoteminething *arg0, struct shorthand *hand)
|
||||
return true;
|
||||
}
|
||||
|
||||
if (arg0->unk01 == 1 && g_Vars.currentplayer->hands[HAND_LEFT].unk0640 == 1) {
|
||||
if (arg0->unk01 == 1 && g_Vars.currentplayer->hands[HAND_LEFT].inuse == true) {
|
||||
result = true;
|
||||
}
|
||||
|
||||
@@ -6790,9 +6790,9 @@ glabel func0f09ceac
|
||||
/* f09cf54: 27bd0038 */ addiu $sp,$sp,0x38
|
||||
);
|
||||
|
||||
f32 func0f09cf58(u32 hand)
|
||||
f32 handGetNoiseRadius(s32 handnum)
|
||||
{
|
||||
return g_Vars.currentplayer->hands[hand].unk0840;
|
||||
return g_Vars.currentplayer->hands[handnum].noiseradius;
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
@@ -6814,7 +6814,7 @@ glabel func0f09cf88
|
||||
/* f09cfc0: 27a40050 */ addiu $a0,$sp,0x50
|
||||
/* f09cfc4: 0fc2c807 */ jal func0f0b201c
|
||||
/* f09cfc8: 27a50028 */ addiu $a1,$sp,0x28
|
||||
/* f09cfcc: 0fc2883f */ jal handIsAttackingOnThisTick
|
||||
/* f09cfcc: 0fc2883f */ jal handIsFiring
|
||||
/* f09cfd0: 00002025 */ or $a0,$zero,$zero
|
||||
/* f09cfd4: 1040000c */ beqz $v0,.L0f09d008
|
||||
/* f09cfd8: 3c014270 */ lui $at,0x4270
|
||||
@@ -6862,7 +6862,7 @@ glabel func0f09cf88
|
||||
/* f09d074: 00000000 */ nop
|
||||
/* f09d078: e6060840 */ swc1 $f6,0x840($s0)
|
||||
.L0f09d07c:
|
||||
/* f09d07c: 0fc2883f */ jal handIsAttackingOnThisTick
|
||||
/* f09d07c: 0fc2883f */ jal handIsFiring
|
||||
/* f09d080: 24040001 */ addiu $a0,$zero,0x1
|
||||
/* f09d084: 3c014270 */ lui $at,0x4270
|
||||
/* f09d088: 44818000 */ mtc1 $at,$f16
|
||||
@@ -7340,7 +7340,7 @@ glabel var7f1ac628
|
||||
/* f09d73c: e7aa005c */ swc1 $f10,0x5c($sp)
|
||||
/* f09d740: c61001a8 */ lwc1 $f16,0x1a8($s0)
|
||||
/* f09d744: 46104100 */ add.s $f4,$f8,$f16
|
||||
/* f09d748: 0fc2c4bb */ jal handGetXOffset
|
||||
/* f09d748: 0fc2c4bb */ jal handGetXShift
|
||||
/* f09d74c: e7a40060 */ swc1 $f4,0x60($sp)
|
||||
/* f09d750: c7b2005c */ lwc1 $f18,0x5c($sp)
|
||||
/* f09d754: 8e2f0034 */ lw $t7,0x34($s1)
|
||||
@@ -11133,7 +11133,7 @@ glabel var7f1ac764
|
||||
/* f0a0ad8: 3c06447a */ lui $a2,0x447a
|
||||
/* f0a0adc: 0fc2d30f */ jal func0f0b4c3c
|
||||
/* f0a0ae0: e6aa1678 */ swc1 $f10,0x1678($s5)
|
||||
/* f0a0ae4: 0fc2a4f8 */ jal func0f0a93e0
|
||||
/* f0a0ae4: 0fc2a4f8 */ jal handSetAimPos
|
||||
/* f0a0ae8: 02002025 */ or $a0,$s0,$zero
|
||||
/* f0a0aec: 8fbf0064 */ lw $ra,0x64($sp)
|
||||
/* f0a0af0: d7b40010 */ ldc1 $f20,0x10($sp)
|
||||
@@ -11805,7 +11805,7 @@ void func0f0a1528(void)
|
||||
if (ctrl->switchtoweaponnum >= 0) {
|
||||
if (func0f09bec8(HAND_RIGHT) && func0f09bec8(HAND_LEFT)) {
|
||||
s32 weaponnum = player->gunctrl.weaponnum;
|
||||
s32 prev640 = player->hands[HAND_LEFT].unk0640;
|
||||
s32 previnuse = player->hands[HAND_LEFT].inuse;
|
||||
struct hand *lefthand;
|
||||
struct hand *righthand;
|
||||
|
||||
@@ -11828,13 +11828,13 @@ void func0f0a1528(void)
|
||||
}
|
||||
|
||||
if (weaponnum == WEAPON_RCP120) {
|
||||
s32 amount = player->hands[HAND_RIGHT].unk0874;
|
||||
s32 amount = player->hands[HAND_RIGHT].matmot1;
|
||||
|
||||
if (amount > player->ammoheldarr[ctrl->totalammo[0]]) {
|
||||
amount = player->ammoheldarr[ctrl->totalammo[0]];
|
||||
if (amount > player->ammoheldarr[ctrl->ammotypes[0]]) {
|
||||
amount = player->ammoheldarr[ctrl->ammotypes[0]];
|
||||
}
|
||||
|
||||
player->ammoheldarr[ctrl->totalammo[0]] -= amount;
|
||||
player->ammoheldarr[ctrl->ammotypes[0]] -= amount;
|
||||
}
|
||||
|
||||
if (weaponnum == WEAPON_HORIZONSCANNER) {
|
||||
@@ -11848,14 +11848,14 @@ void func0f0a1528(void)
|
||||
righthand = &player->hands[HAND_RIGHT];
|
||||
|
||||
if (ctrl->switchtoweaponnum == WEAPON_NONE) {
|
||||
lefthand->unk0640 = 0;
|
||||
righthand->unk0640 = 0;
|
||||
lefthand->inuse = false;
|
||||
righthand->inuse = false;
|
||||
ctrl->weaponnum = WEAPON_NONE;
|
||||
} else {
|
||||
func0f09df64(ctrl->switchtoweaponnum);
|
||||
ctrl->weaponnum = ctrl->switchtoweaponnum;
|
||||
lefthand->unk0640 = 1;
|
||||
righthand->unk0640 = 1;
|
||||
lefthand->inuse = true;
|
||||
righthand->inuse = true;
|
||||
}
|
||||
|
||||
if (ctrl->weaponnum == WEAPON_REMOTEMINE) {
|
||||
@@ -11863,14 +11863,14 @@ void func0f0a1528(void)
|
||||
}
|
||||
|
||||
if (!ctrl->unk1583_00) {
|
||||
lefthand->unk0640 = 0;
|
||||
lefthand->inuse = false;
|
||||
}
|
||||
|
||||
if (weaponnum <= WEAPON_PSYCHOSISGUN && weaponnum >= WEAPON_UNARMED) {
|
||||
player->gunctrl.prevweaponnum = weaponnum;
|
||||
}
|
||||
|
||||
if (prev640) {
|
||||
if (previnuse) {
|
||||
player->gunctrl.unk1583_01 = true;
|
||||
} else {
|
||||
player->gunctrl.unk1583_01 = false;
|
||||
@@ -11880,21 +11880,20 @@ void func0f0a1528(void)
|
||||
g_Vars.currentplayer->usedowntime = -1;
|
||||
|
||||
for (i = 0; i < 2; i++) {
|
||||
player->hands[i].unk0874 = 0.0f;
|
||||
|
||||
player->hands[i].unk0d0e_00 = 0;
|
||||
player->hands[i].unk0d0e_04 = 0;
|
||||
player->hands[i].unk0d0f_02 = false;
|
||||
player->hands[i].unk0d0f_03 = false;
|
||||
|
||||
player->hands[i].unk0878 = 0.0f;
|
||||
player->hands[i].unk087c = 0.0f;
|
||||
player->hands[i].unk0868 = 0.0f;
|
||||
player->hands[i].matmot1 = 0.0f;
|
||||
player->hands[i].matmot2 = 0.0f;
|
||||
player->hands[i].matmot3 = 0.0f;
|
||||
player->hands[i].angledamper = 0.0f;
|
||||
player->hands[i].unk0db8 = 0.0f;
|
||||
player->hands[i].unk0b90 = 0;
|
||||
player->hands[i].unk0888 = 0.0f;
|
||||
player->hands[i].unk080c = 0;
|
||||
player->hands[i].unk0810 = 0;
|
||||
player->hands[i].allowshootframe = 0;
|
||||
player->hands[i].lastshootframe60 = 0;
|
||||
player->hands[i].base.weaponfunc = FUNC_PRIMARY;
|
||||
|
||||
player->hands[i].base.weaponnum = ctrl->weaponnum;
|
||||
@@ -11938,11 +11937,11 @@ void func0f0a1528(void)
|
||||
ctrl->unk1583_04 = false;
|
||||
}
|
||||
} else {
|
||||
if (((player->hands[HAND_LEFT].unk0640 && !player->gunctrl.unk1583_00)
|
||||
|| (!player->hands[HAND_LEFT].unk0640 && player->gunctrl.unk1583_00))
|
||||
if (((player->hands[HAND_LEFT].inuse && !player->gunctrl.unk1583_00)
|
||||
|| (!player->hands[HAND_LEFT].inuse && player->gunctrl.unk1583_00))
|
||||
&& func0f09bec8(HAND_LEFT)) {
|
||||
func0f0a134c(HAND_LEFT);
|
||||
player->hands[HAND_LEFT].unk0640 = player->gunctrl.unk1583_00;
|
||||
player->hands[HAND_LEFT].inuse = player->gunctrl.unk1583_00;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -11961,7 +11960,7 @@ void currentPlayerEquipWeapon(s32 weaponnum)
|
||||
|
||||
s32 handGetWeaponNum(s32 handnum)
|
||||
{
|
||||
if (!g_Vars.currentplayer->hands[handnum].unk0640) {
|
||||
if (!g_Vars.currentplayer->hands[handnum].inuse) {
|
||||
return WEAPON_NONE;
|
||||
}
|
||||
|
||||
@@ -12426,9 +12425,9 @@ void currentPlayerEquipWeaponWrapper(bool arg0, s32 weaponnum)
|
||||
}
|
||||
}
|
||||
|
||||
s32 handIsAttackingOnThisTick(s32 handnum)
|
||||
s32 handIsFiring(s32 handnum)
|
||||
{
|
||||
return g_Vars.currentplayer->hands[handnum].unk063c;
|
||||
return g_Vars.currentplayer->hands[handnum].firing;
|
||||
}
|
||||
|
||||
s32 handGetAttackType(s32 handnum)
|
||||
@@ -12479,17 +12478,17 @@ void currentPlayerReloadHandIfPossible(s32 handnum)
|
||||
struct player *player = g_Vars.currentplayer;
|
||||
|
||||
if (weaponGetAmmoType(handGetWeaponNum(handnum), 0)
|
||||
&& player->hands[handnum].unk065c == 0) {
|
||||
player->hands[handnum].unk065c = 9;
|
||||
&& player->hands[handnum].modenext == 0) {
|
||||
player->hands[handnum].modenext = 9;
|
||||
}
|
||||
}
|
||||
|
||||
void func0f0a2290(f32 angle)
|
||||
void handSetAdjustPos(f32 angle)
|
||||
{
|
||||
struct player *player = g_Vars.currentplayer;
|
||||
|
||||
player->hands[0].unk07f0 = (1 - cosf(angle)) * 5;
|
||||
player->hands[1].unk07f0 = (1 - cosf(angle)) * 5;
|
||||
player->hands[0].adjustpos.z = (1 - cosf(angle)) * 5;
|
||||
player->hands[1].adjustpos.z = (1 - cosf(angle)) * 5;
|
||||
}
|
||||
|
||||
void func0f0a2308(s32 handnum)
|
||||
@@ -19897,15 +19896,15 @@ glabel var7f1acaa0
|
||||
/* f0a890c: 00000000 */ nop
|
||||
);
|
||||
|
||||
void handSetFiring(s32 handnum, bool firing)
|
||||
void handSetTriggerOn(s32 handnum, bool on)
|
||||
{
|
||||
struct hand *hand = &g_Vars.currentplayer->hands[handnum];
|
||||
|
||||
hand->prevfiring = hand->firing;
|
||||
hand->firing = firing;
|
||||
hand->triggerprev = hand->triggeron;
|
||||
hand->triggeron = on;
|
||||
|
||||
if (!firing) {
|
||||
hand->unk064c = true;
|
||||
if (!on) {
|
||||
hand->triggerreleased = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20415,8 +20414,8 @@ void currentPlayerTickInventory(bool triggeron)
|
||||
|
||||
if (g_Vars.tickmode == TICKMODE_CUTSCENE) {
|
||||
triggeron = false;
|
||||
g_Vars.currentplayer->hands[HAND_LEFT].unk063c = 0;
|
||||
g_Vars.currentplayer->hands[HAND_RIGHT].unk063c = 0;
|
||||
g_Vars.currentplayer->hands[HAND_LEFT].firing = false;
|
||||
g_Vars.currentplayer->hands[HAND_RIGHT].firing = false;
|
||||
}
|
||||
|
||||
player->playertriggerprev = player->playertriggeron;
|
||||
@@ -20432,14 +20431,14 @@ void currentPlayerTickInventory(bool triggeron)
|
||||
if (player->playertriggeron) {
|
||||
player->playertrigtime240 += g_Vars.lvupdate240;
|
||||
|
||||
if (player->hands[HAND_LEFT].unk0640
|
||||
&& player->hands[HAND_RIGHT].unk0640
|
||||
if (player->hands[HAND_LEFT].inuse
|
||||
&& player->hands[HAND_RIGHT].inuse
|
||||
&& player->gunctrl.weaponnum != WEAPON_REMOTEMINE) {
|
||||
if (player->playertrigtime240 > 80) {
|
||||
gunsfiring[player->curguntofire] = 1;
|
||||
|
||||
if (func0f099008(1 - player->curguntofire)
|
||||
|| player->hands[1 - player->curguntofire].firing) {
|
||||
|| player->hands[1 - player->curguntofire].triggeron) {
|
||||
gunsfiring[1 - player->curguntofire] = 1;
|
||||
}
|
||||
} else {
|
||||
@@ -20452,8 +20451,8 @@ void currentPlayerTickInventory(bool triggeron)
|
||||
gunsfiring[1 - player->curguntofire] = 0;
|
||||
}
|
||||
} else {
|
||||
if (player->hands[player->curguntofire].unk0640 == 0
|
||||
&& player->hands[1 - player->curguntofire].unk0640) {
|
||||
if (!player->hands[player->curguntofire].inuse
|
||||
&& player->hands[1 - player->curguntofire].inuse) {
|
||||
player->curguntofire = 1 - player->curguntofire;
|
||||
}
|
||||
|
||||
@@ -20468,8 +20467,8 @@ void currentPlayerTickInventory(bool triggeron)
|
||||
player->playertrigtime240 = 0;
|
||||
}
|
||||
|
||||
handSetFiring(0, gunsfiring[0]);
|
||||
handSetFiring(1, gunsfiring[1]);
|
||||
handSetTriggerOn(0, gunsfiring[0]);
|
||||
handSetTriggerOn(1, gunsfiring[1]);
|
||||
|
||||
if (g_Vars.tickmode == TICKMODE_NORMAL && g_Vars.lvupdate240 > 0) {
|
||||
func0f09cdc4(0);
|
||||
@@ -20526,17 +20525,17 @@ void currentPlayerSetAimType(u32 aimtype)
|
||||
g_Vars.currentplayer->aimtype = aimtype;
|
||||
}
|
||||
|
||||
void func0f0a93e0(struct coord *coord)
|
||||
void handSetAimPos(struct coord *coord)
|
||||
{
|
||||
struct player *player = g_Vars.currentplayer;
|
||||
|
||||
player->hands[HAND_RIGHT].unk07f8.x = handGetXOffset(HAND_RIGHT) + coord->x;
|
||||
player->hands[HAND_RIGHT].unk07f8.y = coord->y;
|
||||
player->hands[HAND_RIGHT].unk07f8.z = coord->z;
|
||||
player->hands[HAND_RIGHT].aimpos.x = handGetXShift(HAND_RIGHT) + coord->x;
|
||||
player->hands[HAND_RIGHT].aimpos.y = coord->y;
|
||||
player->hands[HAND_RIGHT].aimpos.z = coord->z;
|
||||
|
||||
player->hands[HAND_LEFT].unk07f8.x = handGetXOffset(HAND_LEFT) + coord->x;
|
||||
player->hands[HAND_LEFT].unk07f8.y = coord->y;
|
||||
player->hands[HAND_LEFT].unk07f8.z = coord->z;
|
||||
player->hands[HAND_LEFT].aimpos.x = handGetXShift(HAND_LEFT) + coord->x;
|
||||
player->hands[HAND_LEFT].aimpos.y = coord->y;
|
||||
player->hands[HAND_LEFT].aimpos.z = coord->z;
|
||||
}
|
||||
|
||||
void func0f0a9464(struct coord *coord)
|
||||
@@ -20804,9 +20803,9 @@ s32 currentPlayerGetAmmoCount(s32 ammotype)
|
||||
struct player *player = g_Vars.currentplayer;
|
||||
|
||||
for (i = 0; i < 2; i++) {
|
||||
if (player->hands[i].unk0640) {
|
||||
if (player->hands[i].inuse) {
|
||||
for (j = 0; j < 2; j++) {
|
||||
if (player->gunctrl.totalammo[j] == ammotype) {
|
||||
if (player->gunctrl.ammotypes[j] == ammotype) {
|
||||
total = player->hands[i].loadedammo[j] + total;
|
||||
}
|
||||
}
|
||||
|
||||
+10
-10
@@ -2122,26 +2122,26 @@ glabel var7f1accf4
|
||||
/* f0adbb8: 27bd0190 */ addiu $sp,$sp,0x190
|
||||
);
|
||||
|
||||
void bullettailTick(struct bullettail *tail)
|
||||
void beamTick(struct beam *beam)
|
||||
{
|
||||
if (tail->age >= 0) {
|
||||
if (tail->unk01 == -2) {
|
||||
tail->age++;
|
||||
if (beam->age >= 0) {
|
||||
if (beam->unk01 == -2) {
|
||||
beam->age++;
|
||||
|
||||
if (tail->age > 1) {
|
||||
tail->age = -1;
|
||||
if (beam->age > 1) {
|
||||
beam->age = -1;
|
||||
}
|
||||
} else {
|
||||
if (g_Vars.lvupdate240 <= 8) {
|
||||
// Not lagging
|
||||
tail->dist += tail->speed * g_Vars.lvupdate240f;
|
||||
beam->dist += beam->speed * g_Vars.lvupdate240f;
|
||||
} else {
|
||||
// Lagging
|
||||
tail->dist += tail->speed * (2 + random() * (1.0f / U32_MAX) * 0.5f);
|
||||
beam->dist += beam->speed * (2 + random() * (1.0f / U32_MAX) * 0.5f);
|
||||
}
|
||||
|
||||
if (tail->dist >= tail->maxdist) {
|
||||
tail->age = -1;
|
||||
if (beam->dist >= beam->maxdist) {
|
||||
beam->age = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -147,9 +147,9 @@ void currentPlayerSetWeaponSway(struct coord *sway)
|
||||
}
|
||||
}
|
||||
|
||||
f32 handGetXOffset(u32 hand)
|
||||
f32 handGetXShift(s32 handnum)
|
||||
{
|
||||
return g_Vars.currentplayer->hands[hand].xoffset;
|
||||
return g_Vars.currentplayer->hands[handnum].xshift;
|
||||
}
|
||||
|
||||
f32 func0f0b131c(u32 hand)
|
||||
@@ -496,7 +496,7 @@ glabel handPopulateFromCurrentPlayer
|
||||
// hand->unk0639 = g_Vars.currentplayer->hands[handnum].unk0639;
|
||||
//
|
||||
// if (hand->weaponnum == WEAPON_MAULER) {
|
||||
// hand->unk063a = g_Vars.currentplayer->hands[handnum].unk0874 * 10.0f;
|
||||
// hand->unk063a = g_Vars.currentplayer->hands[handnum].matmot1 * 10.0f;
|
||||
// }
|
||||
//
|
||||
// if (hand->weaponnum == WEAPON_LASER) {
|
||||
@@ -583,7 +583,7 @@ f32 handGetDamage(struct shorthand *hand)
|
||||
damage = (hand->unk063a / 3.0f + 1.0f) * damage;
|
||||
}
|
||||
|
||||
if (handIsAttackingOnThisTick(HAND_LEFT) && handIsAttackingOnThisTick(HAND_RIGHT)) {
|
||||
if (handIsFiring(HAND_LEFT) && handIsFiring(HAND_RIGHT)) {
|
||||
damage += damage;
|
||||
}
|
||||
|
||||
|
||||
@@ -10095,18 +10095,18 @@ s32 getMissionTime(void)
|
||||
|
||||
s32 func0f0c228c(struct prop *prop)
|
||||
{
|
||||
bullettailTick(&g_Vars.players[propGetPlayerNum(prop)]->hands[0].bullettail);
|
||||
bullettailTick(&g_Vars.players[propGetPlayerNum(prop)]->hands[1].bullettail);
|
||||
beamTick(&g_Vars.players[propGetPlayerNum(prop)]->hands[0].beam);
|
||||
beamTick(&g_Vars.players[propGetPlayerNum(prop)]->hands[1].beam);
|
||||
|
||||
if (prop->chr && g_Vars.mplayerisrunning) {
|
||||
struct chrdata *chr = prop->chr;
|
||||
|
||||
if (chr->fireslot[0] >= 0) {
|
||||
bullettailTick(&g_Fireslots[chr->fireslot[0]].bullettail);
|
||||
beamTick(&g_Fireslots[chr->fireslot[0]].beam);
|
||||
}
|
||||
|
||||
if (chr->fireslot[1] >= 0) {
|
||||
bullettailTick(&g_Fireslots[chr->fireslot[1]].bullettail);
|
||||
beamTick(&g_Fireslots[chr->fireslot[1]].beam);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+100
-100
@@ -91,126 +91,126 @@ void playerAllocate(s32 index)
|
||||
{
|
||||
struct hand hand = {
|
||||
{0},
|
||||
0, // unk063c
|
||||
0, // unk063d
|
||||
1, // unk063e
|
||||
0, // unk063f
|
||||
0, // unk0640
|
||||
0, // firing
|
||||
0, // prevfiring
|
||||
0, // unk064c
|
||||
0, // unk0650
|
||||
0, // unk0654
|
||||
0, // unk0658
|
||||
0, // unk065c
|
||||
0, // unk0660
|
||||
0, // unk0664
|
||||
0, // unk0668
|
||||
0, // unk066c
|
||||
0, // unk0670
|
||||
0, // unk0674
|
||||
0, // unk0678
|
||||
0, // unk067c
|
||||
0, // unk0680
|
||||
0, // unk0684
|
||||
0, // unk0688
|
||||
0, // unk068c
|
||||
0, // unk0690
|
||||
0, // unk0694
|
||||
0, // unk0698
|
||||
0, // unk069c
|
||||
0, // unk06a0
|
||||
0, // unk06a4
|
||||
0, // unk06a8
|
||||
0,
|
||||
0,
|
||||
1, // gunon
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1, // unk06ac
|
||||
0, // unk06b0
|
||||
0, // unk06b4
|
||||
0, // unk06b8
|
||||
0, // unk06bc
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1, // unk06c0
|
||||
0, // unk06c4
|
||||
0, // unk06c8
|
||||
0, // unk06cc
|
||||
0, // unk06d0
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1, // unk06d4
|
||||
0, // unk06d8
|
||||
0, // unk06dc
|
||||
0, // unk06e0
|
||||
0, // unk06e4
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1, // unk06e8
|
||||
0, // unk06ec
|
||||
0, // unk06f0
|
||||
0, // unk06f4
|
||||
0, // unk06f8
|
||||
0, // unk06fc
|
||||
0, // unk0700
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
-1, // unk0704
|
||||
0, // unk0708
|
||||
0,
|
||||
1, // unk070c
|
||||
0, // unk0710
|
||||
0, // unk0714
|
||||
0, // unk0718
|
||||
0, // unk071c
|
||||
0, // unk0720
|
||||
0, // unk0724
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
-19.999996185303f, // unk0728
|
||||
0, // unk072c
|
||||
0,
|
||||
19.999996185303f, // unk0730
|
||||
0, // unk0734
|
||||
0, // unk0738
|
||||
0, // unk073c
|
||||
0, // unk0740
|
||||
0, // unk0744
|
||||
0, // unk0748
|
||||
0, // unk074c
|
||||
0, // unk0750
|
||||
0, // unk0754
|
||||
0, // unk0758
|
||||
0, // unk075c
|
||||
0, // unk0760
|
||||
0, // unk0764
|
||||
0, // unk0768
|
||||
0, // unk076c
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
-1, // unk0770
|
||||
0, // unk0774
|
||||
0, // unk0778
|
||||
0,
|
||||
0,
|
||||
-1, // unk077c
|
||||
0, // unk0780
|
||||
0, // unk0784
|
||||
0,
|
||||
0,
|
||||
-1, // unk0788
|
||||
0, // unk078c
|
||||
0, // unk0790
|
||||
0,
|
||||
0,
|
||||
-1, // unk0794
|
||||
0, // unk0798
|
||||
0,
|
||||
1, // unk079c
|
||||
0, // unk07a0
|
||||
0, // unk07a4
|
||||
0,
|
||||
0,
|
||||
1, // unk07a8
|
||||
0, // unk07ac
|
||||
0, // unk07b0
|
||||
0,
|
||||
0,
|
||||
1, // unk07b4
|
||||
0, // unk07b8
|
||||
0, // unk07bc
|
||||
0,
|
||||
0,
|
||||
1, // unk07c0
|
||||
0, // unk07c4
|
||||
0, // unk07c8
|
||||
0, // unk07cc
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1, // unk07d0
|
||||
1, // unk07d4
|
||||
0, // unk07d8
|
||||
0, // unk07dc
|
||||
0, // unk07e0
|
||||
0, // unk07e4
|
||||
0, // unk07e8
|
||||
0, // unk07ec
|
||||
0, // unk07f0
|
||||
0, // xoffset
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
{0, 0, 1000}, // unk07f8
|
||||
NULL, // audiohandle2
|
||||
0, // unk0808
|
||||
0, // unk080c
|
||||
0, // unk0810
|
||||
{-1}, // bullettail.age
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
{-1}, // beam.age
|
||||
};
|
||||
|
||||
s32 i;
|
||||
|
||||
+2
-2
@@ -2398,7 +2398,7 @@ void handTickAttack(s32 handnum)
|
||||
g_Vars.currentplayer->hands[handnum].unk0d0f_02 = false;
|
||||
}
|
||||
|
||||
if (handIsAttackingOnThisTick(handnum)) {
|
||||
if (handIsFiring(handnum)) {
|
||||
s32 type = handGetAttackType(handnum);
|
||||
s32 weaponnum = handGetWeaponNum(handnum);
|
||||
u8 stack1;
|
||||
@@ -2416,7 +2416,7 @@ void handTickAttack(s32 handnum)
|
||||
case HANDATTACKTYPE_SHOOT:
|
||||
// Always execute if right hand, but if left hand then execute if
|
||||
// right hand is not (ie. prevent firing both guns on the same tick)
|
||||
if (handnum == HAND_RIGHT || !handIsAttackingOnThisTick(HAND_RIGHT)) {
|
||||
if (handnum == HAND_RIGHT || !handIsFiring(HAND_RIGHT)) {
|
||||
chrUncloakTemporarily(g_Vars.currentplayer->prop->chr);
|
||||
mpstatsIncrementPlayerShotCount2((struct shorthand *)&tmpweaponnum, 0);
|
||||
|
||||
|
||||
+12
-12
@@ -26920,12 +26920,12 @@ u32 func0f07e474(struct prop *prop)
|
||||
if (obj->type == OBJTYPE_AUTOGUN) {
|
||||
struct autogunobj *autogun = (struct autogunobj *)prop->obj;
|
||||
|
||||
if (autogun->bullettail) {
|
||||
bullettailTick(autogun->bullettail);
|
||||
if (autogun->beam) {
|
||||
beamTick(autogun->beam);
|
||||
}
|
||||
} else if (obj->type == OBJTYPE_CHOPPER) {
|
||||
struct chopperobj *chopper = (struct chopperobj *)prop->obj;
|
||||
bullettailTick(chopper->fireslotthing->bullettail);
|
||||
beamTick(chopper->fireslotthing->beam);
|
||||
} else if (obj->type == OBJTYPE_LIFT) {
|
||||
liftTick(prop);
|
||||
} else if (obj->type == OBJTYPE_ESCASTEP) {
|
||||
@@ -27327,7 +27327,7 @@ s32 objTick(struct prop *prop)
|
||||
return result;
|
||||
}
|
||||
|
||||
Gfx *propsRenderBulletTails(Gfx *gdl)
|
||||
Gfx *propsRenderBeams(Gfx *gdl)
|
||||
{
|
||||
struct prop *prop = g_Vars.list1head;
|
||||
|
||||
@@ -27336,15 +27336,15 @@ Gfx *propsRenderBulletTails(Gfx *gdl)
|
||||
struct chrdata *chr = prop->chr;
|
||||
|
||||
if (CHRRACE(chr) == RACE_ROBOT) {
|
||||
gdl = func0f0acb90(gdl, chr->unk348->bullettail, true, true);
|
||||
gdl = func0f0acb90(gdl, chr->unk34c->bullettail, true, true);
|
||||
gdl = func0f0acb90(gdl, chr->unk348->beam, true, true);
|
||||
gdl = func0f0acb90(gdl, chr->unk34c->beam, true, true);
|
||||
} else {
|
||||
if (chr->fireslot[0] >= 0) {
|
||||
gdl = func0f0acb90(gdl, &g_Fireslots[chr->fireslot[0]].bullettail, true, false);
|
||||
gdl = func0f0acb90(gdl, &g_Fireslots[chr->fireslot[0]].beam, true, false);
|
||||
}
|
||||
|
||||
if (chr->fireslot[1] >= 0) {
|
||||
gdl = func0f0acb90(gdl, &g_Fireslots[chr->fireslot[1]].bullettail, true, false);
|
||||
gdl = func0f0acb90(gdl, &g_Fireslots[chr->fireslot[1]].beam, true, false);
|
||||
}
|
||||
}
|
||||
} else if (prop->type == PROPTYPE_OBJ) {
|
||||
@@ -27352,21 +27352,21 @@ Gfx *propsRenderBulletTails(Gfx *gdl)
|
||||
|
||||
if (obj->type == OBJTYPE_AUTOGUN) {
|
||||
struct autogunobj *autogun = (struct autogunobj *)prop->obj;
|
||||
gdl = func0f0acb90(gdl, autogun->bullettail, true, false);
|
||||
gdl = func0f0acb90(gdl, autogun->beam, true, false);
|
||||
} else if (obj->type == OBJTYPE_CHOPPER) {
|
||||
struct chopperobj *chopper = (struct chopperobj *)prop->obj;
|
||||
gdl = func0f0acb90(gdl, chopper->fireslotthing->bullettail, true, true);
|
||||
gdl = func0f0acb90(gdl, chopper->fireslotthing->beam, true, true);
|
||||
}
|
||||
} else if (prop->type == PROPTYPE_PLAYER) {
|
||||
if (prop->chr && propGetPlayerNum(prop) != g_Vars.currentplayernum) {
|
||||
struct chrdata *chr = prop->chr;
|
||||
|
||||
if (chr->fireslot[0] >= 0) {
|
||||
gdl = func0f0acb90(gdl, &g_Fireslots[chr->fireslot[0]].bullettail, true, false);
|
||||
gdl = func0f0acb90(gdl, &g_Fireslots[chr->fireslot[0]].beam, true, false);
|
||||
}
|
||||
|
||||
if (chr->fireslot[1] >= 0) {
|
||||
gdl = func0f0acb90(gdl, &g_Fireslots[chr->fireslot[1]].bullettail, true, false);
|
||||
gdl = func0f0acb90(gdl, &g_Fireslots[chr->fireslot[1]].beam, true, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1818,7 +1818,7 @@ void frBeginSession(s32 weapon)
|
||||
frCloseAndLockDoor();
|
||||
|
||||
for (i = 0; i < 2; i++) {
|
||||
if (g_Vars.currentplayer->gunctrl.totalammo[i] >= 0) {
|
||||
if (g_Vars.currentplayer->gunctrl.ammotypes[i] >= 0) {
|
||||
g_Vars.currentplayer->hands[0].loadedammo[i] = 0;
|
||||
g_Vars.currentplayer->hands[1].loadedammo[i] = 0;
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ u32 func0f09cd18(void);
|
||||
void func0f09cdc4(s32 hand);
|
||||
void func0f09ce8c(void);
|
||||
void func0f09ceac(void);
|
||||
f32 func0f09cf58(u32 arg0);
|
||||
f32 handGetNoiseRadius(s32 handnum);
|
||||
void func0f09cf88(void);
|
||||
void func0f09d140(s32 hand);
|
||||
u32 func0f09d550(void);
|
||||
@@ -99,13 +99,13 @@ void func0f0a1c2c(void);
|
||||
bool func0f0a1d14(u32 weaponnum);
|
||||
void func0f0a1df4(void);
|
||||
void currentPlayerEquipWeaponWrapper(bool arg0, s32 weaponnum);
|
||||
s32 handIsAttackingOnThisTick(s32 handnum);
|
||||
s32 handIsFiring(s32 handnum);
|
||||
s32 handGetAttackType(s32 handnum);
|
||||
char *weaponGetName(s32 weaponnum);
|
||||
u16 weaponGetNameId(s32 weaponnum);
|
||||
char *weaponGetShortName(s32 arg0);
|
||||
void currentPlayerReloadHandIfPossible(s32 handnum);
|
||||
void func0f0a2290(f32 angle);
|
||||
void handSetAdjustPos(f32 angle);
|
||||
void func0f0a2308(s32 handnum);
|
||||
u32 func0f0a233c(void);
|
||||
u32 func0f0a2498(void);
|
||||
@@ -140,14 +140,14 @@ u32 func0f0a7d5c(void);
|
||||
void func0f0a7d98(struct shorthand *hand, struct prop *prop, s32 arg2);
|
||||
void func0f0a8404(struct coord *pos, s16 *rooms, s32 arg2);
|
||||
u32 func0f0a84c8(void);
|
||||
void handSetFiring(s32 hand, bool firing);
|
||||
void handSetTriggerOn(s32 handnum, bool on);
|
||||
s32 currentPlayerConsiderToggleGunFunction(s32 usedowntime, bool firing, s32 arg2);
|
||||
void func0f0a8c50(void);
|
||||
bool currentPlayerIsUsingSecondaryFunction(void);
|
||||
void currentPlayerTickInventory(bool triggeron);
|
||||
void playersSetPassiveMode(bool enable);
|
||||
void currentPlayerSetAimType(u32 aimtype);
|
||||
void func0f0a93e0(struct coord *coord);
|
||||
void handSetAimPos(struct coord *coord);
|
||||
void func0f0a9464(struct coord *coord);
|
||||
void func0f0a9494(u32 operation);
|
||||
void func0f0a94d0(u32 operation, struct coord *a, struct coord *b);
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
u32 func0f0abe70(void);
|
||||
u32 func0f0ac138(void);
|
||||
Gfx *func0f0ac4b8(Gfx *gdl, struct textureconfig *arg1, f32 arg2, struct coord *arg3, u32 colour1, f32 arg5, struct coord *arg6, u32 colour2);
|
||||
Gfx *func0f0acb90(Gfx *gdl, struct bullettail *bullettail, bool arg2, u32 arg3);
|
||||
void bullettailTick(struct bullettail *bullettail);
|
||||
Gfx *func0f0acb90(Gfx *gdl, struct beam *beam, bool arg2, u32 arg3);
|
||||
void beamTick(struct beam *beam);
|
||||
u32 func0f0adcc8(void);
|
||||
u32 func0f0ade00(void);
|
||||
u32 func0f0ae964(void);
|
||||
|
||||
@@ -12,7 +12,7 @@ struct weaponfunc *weaponGetFunction(u8 *arg0, s32 which);
|
||||
struct weaponfunc *currentPlayerGetWeaponFunction(u32 hand);
|
||||
struct inventory_typee *func0f0b11bc(struct shorthand *hand);
|
||||
struct inventory_ammo *weaponGetAmmoByFunction(u32 weaponnum, u32 funcnum);
|
||||
f32 handGetXOffset(u32 arg0);
|
||||
f32 handGetXShift(s32 handnum);
|
||||
f32 func0f0b131c(u32 hand);
|
||||
f32 currentPlayerGetGunZoomFov(void);
|
||||
void currentPlayerZoomOut(f32 fovpersec);
|
||||
|
||||
@@ -203,7 +203,7 @@ void func0f07e2cc(struct prop *prop);
|
||||
bool propCanRegen(struct prop *prop);
|
||||
u32 func0f07e474(struct prop *prop);
|
||||
s32 objTick(struct prop *prop);
|
||||
Gfx *propsRenderBulletTails(Gfx *gdl);
|
||||
Gfx *propsRenderBeams(Gfx *gdl);
|
||||
u32 func0f07f918(void);
|
||||
void imageSlotSetImage(struct monitorscreen *screen, u32 arg1);
|
||||
u32 func0f07fbf0(void);
|
||||
|
||||
+60
-130
@@ -1350,7 +1350,7 @@ struct autogunobj { // objtype 0x0d
|
||||
/*0x90*/ s32 unk90;
|
||||
/*0x94*/ s32 unk94;
|
||||
/*0x98*/ s32 unk98;
|
||||
/*0x9c*/ struct bullettail *bullettail;
|
||||
/*0x9c*/ struct beam *beam;
|
||||
/*0xa0*/ f32 unka0;
|
||||
/*0xa4*/ u32 unka4;
|
||||
/*0xa8*/ u8 autogun_type;
|
||||
@@ -1704,7 +1704,7 @@ struct threat {
|
||||
s16 unk0a;
|
||||
};
|
||||
|
||||
struct bullettail {
|
||||
struct beam {
|
||||
/*0x00*/ s8 age;
|
||||
/*0x01*/ s8 unk01;
|
||||
/*0x04*/ u32 unk04;
|
||||
@@ -1730,127 +1730,57 @@ struct shorthand {
|
||||
// Weapon data per hand
|
||||
struct hand {
|
||||
struct shorthand base;
|
||||
/*0x063c*/ s8 unk063c;
|
||||
/*0x063d*/ s8 torchon;
|
||||
/*0x063e*/ u8 unk063e;
|
||||
/*0x063f*/ u8 unk063f;
|
||||
/*0x0640*/ s8 unk0640;
|
||||
/*0x0644*/ bool firing;
|
||||
/*0x0648*/ bool prevfiring;
|
||||
/*0x064c*/ bool unk064c; // Set to true when firing stops. If set to false, pistols cannot rapid fire by tapping Z
|
||||
/*0x0650*/ u32 unk0650;
|
||||
/*0x0654*/ u32 unk0654;
|
||||
/*0x0658*/ u32 unk0658;
|
||||
/*0x065c*/ u32 unk065c; // hand state? 0 = idle, 9 = reloading
|
||||
/*0x0660*/ u32 unk0660;
|
||||
/*0x0664*/ u32 unk0664;
|
||||
/*0x0668*/ u32 unk0668;
|
||||
/*0x066c*/ u32 unk066c;
|
||||
/*0x0670*/ u32 unk0670;
|
||||
/*0x0674*/ u32 unk0674;
|
||||
/*0x0678*/ u32 unk0678;
|
||||
/*0x067c*/ u32 unk067c;
|
||||
/*0x0680*/ u32 unk0680;
|
||||
/*0x0684*/ u32 unk0684;
|
||||
/*0x0688*/ u32 unk0688;
|
||||
/*0x068c*/ u32 unk068c;
|
||||
/*0x0690*/ u32 unk0690;
|
||||
/*0x0694*/ u32 unk0694;
|
||||
/*0x0698*/ u32 unk0698;
|
||||
/*0x069c*/ u32 unk069c;
|
||||
/*0x06a0*/ u32 unk06a0;
|
||||
/*0x06a4*/ u32 unk06a4;
|
||||
/*0x06a8*/ u32 unk06a8;
|
||||
/*0x06ac*/ f32 unk06ac;
|
||||
/*0x06b0*/ u32 unk06b0;
|
||||
/*0x06b4*/ u32 unk06b4;
|
||||
/*0x06b8*/ u32 unk06b8;
|
||||
/*0x06bc*/ u32 unk06bc;
|
||||
/*0x06c0*/ f32 unk06c0;
|
||||
/*0x06c4*/ u32 unk06c4;
|
||||
/*0x06c8*/ u32 unk06c8;
|
||||
/*0x06cc*/ u32 unk06cc;
|
||||
/*0x06d0*/ u32 unk06d0;
|
||||
/*0x06d4*/ f32 unk06d4;
|
||||
/*0x06d8*/ u32 unk06d8;
|
||||
/*0x06dc*/ u32 unk06dc;
|
||||
/*0x06e0*/ u32 unk06e0;
|
||||
/*0x06e4*/ u32 unk06e4;
|
||||
/*0x06e8*/ f32 unk06e8;
|
||||
/*0x06ec*/ u32 unk06ec;
|
||||
/*0x06f0*/ u32 unk06f0;
|
||||
/*0x06f4*/ u32 unk06f4;
|
||||
/*0x06f8*/ u32 unk06f8;
|
||||
/*0x06fc*/ u32 unk06fc;
|
||||
/*0x0700*/ u32 unk0700;
|
||||
/*0x0704*/ f32 unk0704;
|
||||
/*0x0708*/ u32 unk0708;
|
||||
/*0x070c*/ f32 unk070c;
|
||||
/*0x0710*/ u32 unk0710;
|
||||
/*0x0714*/ u32 unk0714;
|
||||
/*0x0718*/ u32 unk0718;
|
||||
/*0x071c*/ u32 unk071c;
|
||||
/*0x0720*/ u32 unk0720;
|
||||
/*0x0724*/ u32 unk0724;
|
||||
/*0x0728*/ f32 unk0728;
|
||||
/*0x072c*/ u32 unk072c;
|
||||
/*0x0730*/ f32 unk0730;
|
||||
/*0x0734*/ u32 unk0734;
|
||||
/*0x0738*/ u32 unk0738;
|
||||
/*0x073c*/ u32 unk073c;
|
||||
/*0x0740*/ u32 unk0740;
|
||||
/*0x0744*/ u32 unk0744;
|
||||
/*0x0748*/ u32 unk0748;
|
||||
/*0x074c*/ u32 unk074c;
|
||||
/*0x0750*/ u32 unk0750;
|
||||
/*0x0754*/ u32 unk0754;
|
||||
/*0x0758*/ u32 unk0758;
|
||||
/*0x075c*/ u32 unk075c;
|
||||
/*0x0760*/ u32 unk0760;
|
||||
/*0x0764*/ u32 unk0764;
|
||||
/*0x0768*/ u32 unk0768;
|
||||
/*0x076c*/ u32 unk076c;
|
||||
/*0x0770*/ f32 unk0770;
|
||||
/*0x0774*/ u32 unk0774;
|
||||
/*0x0778*/ u32 unk0778;
|
||||
/*0x077c*/ f32 unk077c;
|
||||
/*0x0780*/ u32 unk0780;
|
||||
/*0x0784*/ u32 unk0784;
|
||||
/*0x0788*/ f32 unk0788;
|
||||
/*0x078c*/ u32 unk078c;
|
||||
/*0x0790*/ u32 unk0790;
|
||||
/*0x0794*/ f32 unk0794;
|
||||
/*0x0798*/ u32 unk0798;
|
||||
/*0x079c*/ f32 unk079c;
|
||||
/*0x07a0*/ u32 unk07a0;
|
||||
/*0x07a4*/ u32 unk07a4;
|
||||
/*0x07a8*/ f32 unk07a8;
|
||||
/*0x07ac*/ u32 unk07ac;
|
||||
/*0x07b0*/ u32 unk07b0;
|
||||
/*0x07b4*/ f32 unk07b4;
|
||||
/*0x07b8*/ u32 unk07b8;
|
||||
/*0x07bc*/ u32 unk07bc;
|
||||
/*0x07c0*/ f32 unk07c0;
|
||||
/*0x07c4*/ u32 unk07c4;
|
||||
/*0x07c8*/ u32 unk07c8;
|
||||
/*0x07cc*/ u32 unk07cc;
|
||||
/*0x07d0*/ f32 unk07d0;
|
||||
/*0x07d4*/ f32 unk07d4;
|
||||
/*0x07d8*/ u32 unk07d8;
|
||||
/*0x07dc*/ u32 unk07dc;
|
||||
/*0x07e0*/ u32 unk07e0;
|
||||
/*0x07e4*/ u32 unk07e4;
|
||||
/*0x07e8*/ u32 unk07e8;
|
||||
/*0x07ec*/ u32 unk07ec;
|
||||
/*0x07f0*/ f32 unk07f0;
|
||||
/*0x07f4*/ f32 xoffset;
|
||||
/*0x07f8*/ struct coord unk07f8;
|
||||
/*0x063c*/ s8 firing;
|
||||
/*0x063d*/ s8 flashon;
|
||||
/*0x063e*/ u8 gunon;
|
||||
/*0x063f*/ u8 visible;
|
||||
/*0x0640*/ s8 inuse; // true if hand is holding a gun, false if not
|
||||
/*0x0644*/ bool triggeron;
|
||||
/*0x0648*/ bool triggerprev;
|
||||
/*0x064c*/ bool triggerreleased;
|
||||
/*0x0650*/ u32 count;
|
||||
/*0x0654*/ u32 count60;
|
||||
/*0x0658*/ u32 mode;
|
||||
/*0x065c*/ u32 modenext; // 0 = idle, 9 = reloading
|
||||
/*0x0660*/ u32 numfires;
|
||||
/*0x0664*/ u32 numshotguncarts;
|
||||
/*0x0668*/ u32 refiretime;
|
||||
/*0x066c*/ u32 typechange;
|
||||
/*0x0670*/ u32 pausetime60;
|
||||
/*0x0674*/ u32 pausechange;
|
||||
/*0x0678*/ u32 nextprevchange; // "
|
||||
/*0x067c*/ struct coord posstart;
|
||||
/*0x0688*/ u32 rotxstart;
|
||||
/*0x068c*/ struct coord posend;
|
||||
/*0x0698*/ u32 rotxend;
|
||||
/*0x069c*/ struct coord posoffset;
|
||||
/*0x06a8*/ u32 rotxoffset;
|
||||
/*0x06ac*/ Mtxf posrotmtx;
|
||||
/*0x06ec*/ u32 useposrot;
|
||||
/*0x06f0*/ struct coord damppos;
|
||||
/*0x06fc*/ struct coord damplook;
|
||||
/*0x0708*/ struct coord dampup;
|
||||
/*0x0714*/ struct coord damppossum;
|
||||
/*0x0720*/ struct coord damplooksum;
|
||||
/*0x072c*/ struct coord dampupsum;
|
||||
/*0x0738*/ f32 blendpos[12];
|
||||
/*0x0768*/ f32 blendlook[12];
|
||||
/*0x0798*/ f32 blendup[12];
|
||||
/*0x07c8*/ u32 curblendpos;
|
||||
/*0x07cc*/ u32 dampt;
|
||||
/*0x07d0*/ f32 blendescale;
|
||||
/*0x07d4*/ f32 blendescale1;
|
||||
/*0x07d8*/ u32 sideflag;
|
||||
/*0x07dc*/ struct coord adjustdamp;
|
||||
/*0x07e8*/ struct coord adjustpos;
|
||||
/*0x07f4*/ f32 xshift;
|
||||
/*0x07f8*/ struct coord aimpos;
|
||||
/*0x0804*/ struct audiohandle *audiohandle2;
|
||||
/*0x0808*/ u32 unk0808;
|
||||
/*0x080c*/ u32 unk080c;
|
||||
/*0x0810*/ u32 unk0810;
|
||||
/*0x0814*/ struct bullettail bullettail;
|
||||
/*0x0840*/ f32 unk0840;
|
||||
/*0x080c*/ u32 allowshootframe;
|
||||
/*0x0810*/ u32 lastshootframe60;
|
||||
/*0x0814*/ struct beam beam;
|
||||
/*0x0840*/ f32 noiseradius;
|
||||
/*0x0844*/ u32 unk0844;
|
||||
/*0x0848*/ u32 unk0848;
|
||||
/*0x084c*/ u32 unk084c;
|
||||
@@ -1858,12 +1788,12 @@ struct hand {
|
||||
/*0x0854*/ u32 unk0854;
|
||||
/*0x0858*/ s32 loadedammo[2];
|
||||
/*0x0860*/ s32 clipsizes[2];
|
||||
/*0x0868*/ f32 unk0868;
|
||||
/*0x086c*/ u32 unk086c;
|
||||
/*0x0870*/ u32 unk0870;
|
||||
/*0x0874*/ f32 unk0874; // Mauler charge amount? Or a timer
|
||||
/*0x0878*/ f32 unk0878;
|
||||
/*0x087c*/ f32 unk087c;
|
||||
/*0x0868*/ f32 angledamper;
|
||||
/*0x086c*/ u32 lastrotangx;
|
||||
/*0x0870*/ u32 lastrotangy;
|
||||
/*0x0874*/ f32 matmot1;
|
||||
/*0x0878*/ f32 matmot2;
|
||||
/*0x087c*/ f32 matmot3;
|
||||
/*0x0880*/ u32 unk0880;
|
||||
/*0x0884*/ u32 unk0884;
|
||||
/*0x0888*/ f32 unk0888;
|
||||
@@ -2226,7 +2156,7 @@ struct gunctrl {
|
||||
/*0x15d8*/ u32 unk15d8;
|
||||
/*0x15dc*/ u32 unk15dc;
|
||||
/*0x15e0*/ u32 unk15e0;
|
||||
/*0x15e4*/ s8 totalammo[2];
|
||||
/*0x15e4*/ s8 ammotypes[2];
|
||||
/*0x15e6*/ u8 unk15e6;
|
||||
/*0x15e7*/ u8 unk15e7;
|
||||
/*0x15e8*/ u8 unk15e8;
|
||||
@@ -3563,7 +3493,7 @@ struct room {
|
||||
struct fireslotthing {
|
||||
/*0x00*/ u8 unk00;
|
||||
/*0x01*/ u8 unk01;
|
||||
/*0x04*/ struct bullettail *bullettail;
|
||||
/*0x04*/ struct beam *beam;
|
||||
/*0x08*/ s32 unk08;
|
||||
/*0x0c*/ f32 unk0c;
|
||||
/*0x10*/ f32 unk10;
|
||||
@@ -3574,7 +3504,7 @@ struct fireslotthing {
|
||||
|
||||
struct fireslot {
|
||||
/*0x00*/ s32 unk00;
|
||||
/*0x04*/ struct bullettail bullettail;
|
||||
/*0x04*/ struct beam beam;
|
||||
};
|
||||
|
||||
struct menulayer {
|
||||
|
||||
Reference in New Issue
Block a user