mirror of
https://github.com/perfect-dark-pc-port/perfect_dark.git
synced 2026-10-24 00:02:43 +02:00
Decompile func0f07e474
This commit is contained in:
1 parent
f9e267cb7a
commit
85cd1a1103
8 files changed
+139
-232
No files matched your search
@@ -5052,7 +5052,6 @@ bool ai00d4(void)
|
||||
bool aiHovercarBeginPath(void)
|
||||
{
|
||||
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
|
||||
|
||||
struct path *path = pathFindById(cmd[2]);
|
||||
|
||||
if (g_Vars.truck) {
|
||||
|
||||
@@ -147,7 +147,7 @@ s32 tagGetCommandIndex(struct tag *tag)
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f092124
|
||||
glabel setupGetCommandOffset
|
||||
/* f092124: 27bdffd8 */ addiu $sp,$sp,-40
|
||||
/* f092128: afb00014 */ sw $s0,0x14($sp)
|
||||
/* f09212c: 3c10800a */ lui $s0,%hi(g_StageSetup+0x10)
|
||||
|
||||
+105
-209
@@ -20524,7 +20524,7 @@ glabel var7f1aa454
|
||||
);
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f077c10
|
||||
glabel liftTick
|
||||
/* f077c10: 27bdfcc0 */ addiu $sp,$sp,-832
|
||||
/* f077c14: afbf0024 */ sw $ra,0x24($sp)
|
||||
/* f077c18: afb10020 */ sw $s1,0x20($sp)
|
||||
@@ -20834,7 +20834,7 @@ glabel func0f077c10
|
||||
);
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f078094
|
||||
glabel escalatorTick
|
||||
/* f078094: 27bdfda0 */ addiu $sp,$sp,-608
|
||||
/* f078098: afbf001c */ sw $ra,0x1c($sp)
|
||||
/* f07809c: afb00018 */ sw $s0,0x18($sp)
|
||||
@@ -27886,218 +27886,114 @@ glabel func0f07e2cc
|
||||
);
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f07e468
|
||||
glabel propCanRegen
|
||||
/* f07e468: afa40000 */ sw $a0,0x0($sp)
|
||||
/* f07e46c: 03e00008 */ jr $ra
|
||||
/* f07e470: 24020001 */ addiu $v0,$zero,0x1
|
||||
);
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f07e474
|
||||
/* f07e474: 27bdff98 */ addiu $sp,$sp,-104
|
||||
/* f07e478: afbf004c */ sw $ra,0x4c($sp)
|
||||
/* f07e47c: afb10048 */ sw $s1,0x48($sp)
|
||||
/* f07e480: afb00044 */ sw $s0,0x44($sp)
|
||||
/* f07e484: 8c900004 */ lw $s0,0x4($a0)
|
||||
/* f07e488: afa00060 */ sw $zero,0x60($sp)
|
||||
/* f07e48c: 84820002 */ lh $v0,0x2($a0)
|
||||
/* f07e490: 00808825 */ or $s1,$a0,$zero
|
||||
/* f07e494: 3c0e800a */ lui $t6,%hi(g_Vars+0x38)
|
||||
/* f07e498: 18400088 */ blez $v0,.L0f07e6bc
|
||||
/* f07e49c: 2841003c */ slti $at,$v0,0x3c
|
||||
/* f07e4a0: 14200002 */ bnez $at,.L0f07e4ac
|
||||
/* f07e4a4: 24030001 */ addiu $v1,$zero,0x1
|
||||
/* f07e4a8: 00001825 */ or $v1,$zero,$zero
|
||||
.L0f07e4ac:
|
||||
/* f07e4ac: 8dce9ff8 */ lw $t6,%lo(g_Vars+0x38)($t6)
|
||||
/* f07e4b0: 004e7823 */ subu $t7,$v0,$t6
|
||||
/* f07e4b4: a62f0002 */ sh $t7,0x2($s1)
|
||||
/* f07e4b8: 86380002 */ lh $t8,0x2($s1)
|
||||
/* f07e4bc: 2b01003c */ slti $at,$t8,0x3c
|
||||
/* f07e4c0: 5020000b */ beqzl $at,.L0f07e4f0
|
||||
/* f07e4c4: 86220002 */ lh $v0,0x2($s1)
|
||||
/* f07e4c8: 14600008 */ bnez $v1,.L0f07e4ec
|
||||
/* f07e4cc: 02202025 */ or $a0,$s1,$zero
|
||||
/* f07e4d0: 0fc1f91a */ jal func0f07e468
|
||||
/* f07e4d4: afa3005c */ sw $v1,0x5c($sp)
|
||||
/* f07e4d8: 14400004 */ bnez $v0,.L0f07e4ec
|
||||
/* f07e4dc: 8fa3005c */ lw $v1,0x5c($sp)
|
||||
/* f07e4e0: 86390002 */ lh $t9,0x2($s1)
|
||||
/* f07e4e4: 2728003c */ addiu $t0,$t9,0x3c
|
||||
/* f07e4e8: a6280002 */ sh $t0,0x2($s1)
|
||||
.L0f07e4ec:
|
||||
/* f07e4ec: 86220002 */ lh $v0,0x2($s1)
|
||||
.L0f07e4f0:
|
||||
/* f07e4f0: 1c40000f */ bgtz $v0,.L0f07e530
|
||||
/* f07e4f4: 2841003c */ slti $at,$v0,0x3c
|
||||
/* f07e4f8: a6200002 */ sh $zero,0x2($s1)
|
||||
/* f07e4fc: 92090002 */ lbu $t1,0x2($s0)
|
||||
/* f07e500: 312a0010 */ andi $t2,$t1,0x10
|
||||
/* f07e504: 51400006 */ beqzl $t2,.L0f07e520
|
||||
/* f07e508: 8e0d0040 */ lw $t5,0x40($s0)
|
||||
/* f07e50c: 8e0b0040 */ lw $t3,0x40($s0)
|
||||
/* f07e510: 356c1000 */ ori $t4,$t3,0x1000
|
||||
/* f07e514: 10000069 */ b .L0f07e6bc
|
||||
/* f07e518: ae0c0040 */ sw $t4,0x40($s0)
|
||||
/* f07e51c: 8e0d0040 */ lw $t5,0x40($s0)
|
||||
.L0f07e520:
|
||||
/* f07e520: 2401efff */ addiu $at,$zero,-4097
|
||||
/* f07e524: 01a17024 */ and $t6,$t5,$at
|
||||
/* f07e528: 10000064 */ b .L0f07e6bc
|
||||
/* f07e52c: ae0e0040 */ sw $t6,0x40($s0)
|
||||
.L0f07e530:
|
||||
/* f07e530: 50200063 */ beqzl $at,.L0f07e6c0
|
||||
/* f07e534: 92020003 */ lbu $v0,0x3($s0)
|
||||
/* f07e538: 54600061 */ bnezl $v1,.L0f07e6c0
|
||||
/* f07e53c: 92020003 */ lbu $v0,0x3($s0)
|
||||
/* f07e540: 860f004c */ lh $t7,0x4c($s0)
|
||||
/* f07e544: 24040001 */ addiu $a0,$zero,0x1
|
||||
/* f07e548: 55e00030 */ bnezl $t7,.L0f07e60c
|
||||
/* f07e54c: 92180002 */ lbu $t8,0x2($s0)
|
||||
/* f07e550: 92180002 */ lbu $t8,0x2($s0)
|
||||
/* f07e554: 33190040 */ andi $t9,$t8,0x40
|
||||
/* f07e558: 5720002c */ bnezl $t9,.L0f07e60c
|
||||
/* f07e55c: 92180002 */ lbu $t8,0x2($s0)
|
||||
/* f07e560: 8e080008 */ lw $t0,0x8($s0)
|
||||
/* f07e564: 31098000 */ andi $t1,$t0,0x8000
|
||||
/* f07e568: 1120001e */ beqz $t1,.L0f07e5e4
|
||||
/* f07e56c: 00000000 */ nop
|
||||
/* f07e570: 0fc19711 */ jal func0f065c44
|
||||
/* f07e574: 02202025 */ or $a0,$s1,$zero
|
||||
/* f07e578: 0fc18171 */ jal func0f0605c4
|
||||
/* f07e57c: 02202025 */ or $a0,$s1,$zero
|
||||
/* f07e580: 8e0a0040 */ lw $t2,0x40($s0)
|
||||
/* f07e584: 2401f7ff */ addiu $at,$zero,-2049
|
||||
/* f07e588: 02202025 */ or $a0,$s1,$zero
|
||||
/* f07e58c: 01415824 */ and $t3,$t2,$at
|
||||
/* f07e590: 0fc24849 */ jal func0f092124
|
||||
/* f07e594: ae0b0040 */ sw $t3,0x40($s0)
|
||||
/* f07e598: 86030006 */ lh $v1,0x6($s0)
|
||||
/* f07e59c: 0fc24908 */ jal setupCommandGetObject
|
||||
/* f07e5a0: 00432021 */ addu $a0,$v0,$v1
|
||||
/* f07e5a4: 5040002b */ beqzl $v0,.L0f07e654
|
||||
/* f07e5a8: 920e0003 */ lbu $t6,0x3($s0)
|
||||
/* f07e5ac: 8c4c0014 */ lw $t4,0x14($v0)
|
||||
/* f07e5b0: 51800028 */ beqzl $t4,.L0f07e654
|
||||
/* f07e5b4: 920e0003 */ lbu $t6,0x3($s0)
|
||||
/* f07e5b8: 8e040018 */ lw $a0,0x18($s0)
|
||||
/* f07e5bc: 8c850014 */ lw $a1,0x14($a0)
|
||||
/* f07e5c0: 0c006bd6 */ jal func0001af58
|
||||
/* f07e5c4: afa20050 */ sw $v0,0x50($sp)
|
||||
/* f07e5c8: 8fa30050 */ lw $v1,0x50($sp)
|
||||
/* f07e5cc: 8e040014 */ lw $a0,0x14($s0)
|
||||
/* f07e5d0: 0fc181a6 */ jal propReparent
|
||||
/* f07e5d4: 8c650014 */ lw $a1,0x14($v1)
|
||||
/* f07e5d8: 240d0001 */ addiu $t5,$zero,0x1
|
||||
/* f07e5dc: 1000001c */ b .L0f07e650
|
||||
/* f07e5e0: afad0060 */ sw $t5,0x60($sp)
|
||||
.L0f07e5e4:
|
||||
/* f07e5e4: 0fc180bc */ jal propShow
|
||||
/* f07e5e8: 02202025 */ or $a0,$s1,$zero
|
||||
/* f07e5ec: 0fc248f5 */ jal func0f0923d4
|
||||
/* f07e5f0: 02002025 */ or $a0,$s0,$zero
|
||||
/* f07e5f4: 8e0e0040 */ lw $t6,0x40($s0)
|
||||
/* f07e5f8: 2401f7ff */ addiu $at,$zero,-2049
|
||||
/* f07e5fc: 01c17824 */ and $t7,$t6,$at
|
||||
/* f07e600: 10000013 */ b .L0f07e650
|
||||
/* f07e604: ae0f0040 */ sw $t7,0x40($s0)
|
||||
/* f07e608: 92180002 */ lbu $t8,0x2($s0)
|
||||
.L0f07e60c:
|
||||
/* f07e60c: 33190008 */ andi $t9,$t8,0x8
|
||||
/* f07e610: 53200006 */ beqzl $t9,.L0f07e62c
|
||||
/* f07e614: 8e0a0008 */ lw $t2,0x8($s0)
|
||||
/* f07e618: 8e080008 */ lw $t0,0x8($s0)
|
||||
/* f07e61c: 35090100 */ ori $t1,$t0,0x100
|
||||
/* f07e620: 10000005 */ b .L0f07e638
|
||||
/* f07e624: ae090008 */ sw $t1,0x8($s0)
|
||||
/* f07e628: 8e0a0008 */ lw $t2,0x8($s0)
|
||||
.L0f07e62c:
|
||||
/* f07e62c: 2401feff */ addiu $at,$zero,-257
|
||||
/* f07e630: 01415824 */ and $t3,$t2,$at
|
||||
/* f07e634: ae0b0008 */ sw $t3,0x8($s0)
|
||||
.L0f07e638:
|
||||
/* f07e638: 920c0002 */ lbu $t4,0x2($s0)
|
||||
/* f07e63c: a600004c */ sh $zero,0x4c($s0)
|
||||
/* f07e640: 8e050018 */ lw $a1,0x18($s0)
|
||||
/* f07e644: 318dffbf */ andi $t5,$t4,0xffbf
|
||||
/* f07e648: 0fc226a5 */ jal func0f089a94
|
||||
/* f07e64c: a20d0002 */ sb $t5,0x2($s0)
|
||||
.L0f07e650:
|
||||
/* f07e650: 920e0003 */ lbu $t6,0x3($s0)
|
||||
.L0f07e654:
|
||||
/* f07e654: 24010015 */ addiu $at,$zero,0x15
|
||||
/* f07e658: 00002025 */ or $a0,$zero,$zero
|
||||
/* f07e65c: 15c10003 */ bne $t6,$at,.L0f07e66c
|
||||
/* f07e660: 02202825 */ or $a1,$s1,$zero
|
||||
/* f07e664: c604005c */ lwc1 $f4,0x5c($s0)
|
||||
/* f07e668: e6040060 */ swc1 $f4,0x60($s0)
|
||||
.L0f07e66c:
|
||||
/* f07e66c: 8faf0060 */ lw $t7,0x60($sp)
|
||||
/* f07e670: 3c01bf80 */ lui $at,0xbf80
|
||||
/* f07e674: 24060052 */ addiu $a2,$zero,0x52
|
||||
/* f07e678: 15e00010 */ bnez $t7,.L0f07e6bc
|
||||
/* f07e67c: 2407ffff */ addiu $a3,$zero,-1
|
||||
/* f07e680: 44810000 */ mtc1 $at,$f0
|
||||
/* f07e684: 2418ffff */ addiu $t8,$zero,-1
|
||||
/* f07e688: 2419ffff */ addiu $t9,$zero,-1
|
||||
/* f07e68c: afb9002c */ sw $t9,0x2c($sp)
|
||||
/* f07e690: afb80010 */ sw $t8,0x10($sp)
|
||||
/* f07e694: afa00014 */ sw $zero,0x14($sp)
|
||||
/* f07e698: afa00018 */ sw $zero,0x18($sp)
|
||||
/* f07e69c: afa0001c */ sw $zero,0x1c($sp)
|
||||
/* f07e6a0: afa00020 */ sw $zero,0x20($sp)
|
||||
/* f07e6a4: afa00028 */ sw $zero,0x28($sp)
|
||||
/* f07e6a8: e7a00024 */ swc1 $f0,0x24($sp)
|
||||
/* f07e6ac: e7a00030 */ swc1 $f0,0x30($sp)
|
||||
/* f07e6b0: e7a00034 */ swc1 $f0,0x34($sp)
|
||||
/* f07e6b4: 0fc24e7e */ jal func0f0939f8
|
||||
/* f07e6b8: e7a00038 */ swc1 $f0,0x38($sp)
|
||||
.L0f07e6bc:
|
||||
/* f07e6bc: 92020003 */ lbu $v0,0x3($s0)
|
||||
.L0f07e6c0:
|
||||
/* f07e6c0: 2401000d */ addiu $at,$zero,0xd
|
||||
/* f07e6c4: 5441000a */ bnel $v0,$at,.L0f07e6f0
|
||||
/* f07e6c8: 24010039 */ addiu $at,$zero,0x39
|
||||
/* f07e6cc: 8e220004 */ lw $v0,0x4($s1)
|
||||
/* f07e6d0: 8c44009c */ lw $a0,0x9c($v0)
|
||||
/* f07e6d4: 5080001b */ beqzl $a0,.L0f07e744
|
||||
/* f07e6d8: 8fbf004c */ lw $ra,0x4c($sp)
|
||||
/* f07e6dc: 0fc2b6ef */ jal func0f0adbbc
|
||||
/* f07e6e0: 00000000 */ nop
|
||||
/* f07e6e4: 10000017 */ b .L0f07e744
|
||||
/* f07e6e8: 8fbf004c */ lw $ra,0x4c($sp)
|
||||
/* f07e6ec: 24010039 */ addiu $at,$zero,0x39
|
||||
.L0f07e6f0:
|
||||
/* f07e6f0: 54410008 */ bnel $v0,$at,.L0f07e714
|
||||
/* f07e6f4: 24010030 */ addiu $at,$zero,0x30
|
||||
/* f07e6f8: 8e220004 */ lw $v0,0x4($s1)
|
||||
/* f07e6fc: 8c4800e0 */ lw $t0,0xe0($v0)
|
||||
/* f07e700: 0fc2b6ef */ jal func0f0adbbc
|
||||
/* f07e704: 8d040004 */ lw $a0,0x4($t0)
|
||||
/* f07e708: 1000000e */ b .L0f07e744
|
||||
/* f07e70c: 8fbf004c */ lw $ra,0x4c($sp)
|
||||
/* f07e710: 24010030 */ addiu $at,$zero,0x30
|
||||
.L0f07e714:
|
||||
/* f07e714: 54410006 */ bnel $v0,$at,.L0f07e730
|
||||
/* f07e718: 2401003b */ addiu $at,$zero,0x3b
|
||||
/* f07e71c: 0fc1df04 */ jal func0f077c10
|
||||
/* f07e720: 02202025 */ or $a0,$s1,$zero
|
||||
/* f07e724: 10000007 */ b .L0f07e744
|
||||
/* f07e728: 8fbf004c */ lw $ra,0x4c($sp)
|
||||
/* f07e72c: 2401003b */ addiu $at,$zero,0x3b
|
||||
.L0f07e730:
|
||||
/* f07e730: 54410004 */ bnel $v0,$at,.L0f07e744
|
||||
/* f07e734: 8fbf004c */ lw $ra,0x4c($sp)
|
||||
/* f07e738: 0fc1e025 */ jal func0f078094
|
||||
/* f07e73c: 02202025 */ or $a0,$s1,$zero
|
||||
/* f07e740: 8fbf004c */ lw $ra,0x4c($sp)
|
||||
.L0f07e744:
|
||||
/* f07e744: 8fb00044 */ lw $s0,0x44($sp)
|
||||
/* f07e748: 8fb10048 */ lw $s1,0x48($sp)
|
||||
/* f07e74c: 27bd0068 */ addiu $sp,$sp,0x68
|
||||
/* f07e750: 03e00008 */ jr $ra
|
||||
/* f07e754: 00001025 */ or $v0,$zero,$zero
|
||||
);
|
||||
u32 func0f07e474(struct prop *prop)
|
||||
{
|
||||
struct defaultobj *obj = prop->obj;
|
||||
bool silent = false;
|
||||
bool regenning;
|
||||
u32 cmdoffset;
|
||||
u32 padnum;
|
||||
struct defaultobj *newparent;
|
||||
|
||||
if (prop->timetoregen > 0) {
|
||||
// Prop is taken/unavailable
|
||||
regenning = true;
|
||||
|
||||
if (prop->timetoregen >= 60) {
|
||||
regenning = false;
|
||||
}
|
||||
|
||||
prop->timetoregen -= g_Vars.lvupdate240_60;
|
||||
|
||||
// If ready to start fading in but propCanRegen returns false, wait
|
||||
// another second and try again. In practice propCanRegen will always
|
||||
// return true so this condition will never pass.
|
||||
if (prop->timetoregen < 60 && !regenning && !propCanRegen(prop)) {
|
||||
prop->timetoregen += 60;
|
||||
}
|
||||
|
||||
if (prop->timetoregen <= 0) {
|
||||
// Prop has finished fading in
|
||||
prop->timetoregen = 0;
|
||||
|
||||
if (obj->hidden2 & OBJH2FLAG_10) {
|
||||
obj->hidden |= OBJHFLAG_00001000;
|
||||
} else {
|
||||
obj->hidden &= ~OBJHFLAG_00001000;
|
||||
}
|
||||
} else if (prop->timetoregen < 60 && !regenning) {
|
||||
// 1 second left - time to start fading in
|
||||
if (obj->damage == 0 && (obj->hidden2 & OBJH2FLAG_40) == 0) {
|
||||
if (obj->flags & OBJFLAG_00008000) {
|
||||
func0f065c44(prop);
|
||||
func0f0605c4(prop);
|
||||
obj->hidden &= ~OBJHFLAG_00000800;
|
||||
cmdoffset = setupGetCommandOffset(prop);
|
||||
|
||||
// Uh... why add obj->pad to the command offset?
|
||||
// I suspect obj->pad has been repurposed.
|
||||
padnum = obj->pad;
|
||||
newparent = setupCommandGetObject(cmdoffset + padnum);
|
||||
|
||||
if (newparent && newparent->prop) {
|
||||
func0001af58(obj->model, obj->model->unk14);
|
||||
propReparent(obj->prop, newparent->prop);
|
||||
silent = true;
|
||||
}
|
||||
} else {
|
||||
propShow(prop);
|
||||
func0f0923d4(obj);
|
||||
obj->hidden &= ~OBJHFLAG_00000800;
|
||||
}
|
||||
} else {
|
||||
// Object was previously damaged. Maybe glass?
|
||||
if (obj->hidden2 & OBJH2FLAG_08) {
|
||||
obj->flags |= OBJFLAG_00000100;
|
||||
} else {
|
||||
obj->flags &= ~OBJFLAG_00000100;
|
||||
}
|
||||
|
||||
obj->damage = 0;
|
||||
obj->hidden2 &= ~OBJH2FLAG_40;
|
||||
func0f089a94(1, obj->model);
|
||||
}
|
||||
|
||||
if (obj->type == OBJTYPE_SHIELD) {
|
||||
struct shieldobj *shield = (struct shieldobj *)obj;
|
||||
shield->amount = shield->initialamount;
|
||||
}
|
||||
|
||||
if (!silent) {
|
||||
// Play respawn sound
|
||||
func0f0939f8(NULL, prop, 0x52, -1,
|
||||
-1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (obj->type == OBJTYPE_AUTOGUN) {
|
||||
struct autogunobj *autogun = (struct autogunobj *)prop->obj;
|
||||
|
||||
if (autogun->unk9c) {
|
||||
func0f0adbbc(autogun->unk9c);
|
||||
}
|
||||
} else if (obj->type == OBJTYPE_CHOPPER) {
|
||||
struct chopperobj *chopper = (struct chopperobj *)prop->obj;
|
||||
func0f0adbbc(chopper->fireslotthing->unk04);
|
||||
} else if (obj->type == OBJTYPE_LIFT) {
|
||||
liftTick(prop);
|
||||
} else if (obj->type == OBJTYPE_ESCALATOR) {
|
||||
escalatorTick(prop);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
s32 objTick(struct prop *prop)
|
||||
{
|
||||
|
||||
@@ -2020,6 +2020,7 @@
|
||||
#define OBJHFLAG_00000200 0x00000200
|
||||
#define OBJHFLAG_00000400 0x00000400
|
||||
#define OBJHFLAG_00000800 0x00000800
|
||||
#define OBJHFLAG_00001000 0x00001000
|
||||
#define OBJHFLAG_ACTIVATED_BY_BOND 0x00004000
|
||||
#define OBJHFLAG_ACTIVATED_BY_COOP 0x00040000
|
||||
#define OBJHFLAG_00100000 0x00100000
|
||||
@@ -2031,6 +2032,7 @@
|
||||
// obj->hidden2
|
||||
#define OBJH2FLAG_04 0x04
|
||||
#define OBJH2FLAG_08 0x08
|
||||
#define OBJH2FLAG_10 0x10
|
||||
#define OBJH2FLAG_40 0x40
|
||||
|
||||
#define OBJTYPE_DOOR 0x01
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
u32 setupGetCommandLength(u32 *cmd);
|
||||
u32 *setupGetPtrToCommandByIndex(u32 cmdindex);
|
||||
s32 tagGetCommandIndex(struct tag *tag);
|
||||
u32 func0f092124(void);
|
||||
u32 setupGetCommandOffset(struct prop *prop);
|
||||
bool propLoad(s32 propnum);
|
||||
bool func0f09220c(struct defaultobj *obj, struct coord *pos, f32 *realrot, u32 arg3, u32 arg4);
|
||||
bool func0f092304(struct defaultobj *obj, u32 arg1, u32 arg2);
|
||||
|
||||
@@ -7,7 +7,7 @@ u32 func0f0abe70(void);
|
||||
u32 func0f0ac138(void);
|
||||
u32 func0f0ac4b8(void);
|
||||
u32 func0f0acb90(void);
|
||||
void func0f0adbbc(u32 *arg0);
|
||||
void func0f0adbbc(struct fireslot04 *fireslot04);
|
||||
u32 func0f0adcc8(void);
|
||||
u32 func0f0ade00(void);
|
||||
u32 func0f0ae964(void);
|
||||
|
||||
@@ -151,8 +151,8 @@ void doorTick(struct prop *doorprop);
|
||||
void func0f07731c(struct prop *door, s32 playercount);
|
||||
u32 func0f077448(void);
|
||||
u32 func0f07766c(void);
|
||||
u32 func0f077c10(void);
|
||||
u32 func0f078094(void);
|
||||
void liftTick(struct prop *lift);
|
||||
void escalatorTick(struct prop *escalator);
|
||||
void cameraTick(struct prop *camera);
|
||||
u32 func0f078930(void);
|
||||
void fanTick(struct prop *fan);
|
||||
@@ -187,7 +187,7 @@ void func0f07e0b8(struct prop *glass, s32 playercount, u32 *arg2);
|
||||
u32 func0f07e184(void);
|
||||
u32 func0f07e1fc(void);
|
||||
void func0f07e2cc(struct prop *prop);
|
||||
u32 func0f07e468(void);
|
||||
bool propCanRegen(struct prop *prop);
|
||||
u32 func0f07e474(struct prop *prop);
|
||||
s32 objTick(struct prop *prop);
|
||||
u32 func0f07f6d0(void);
|
||||
@@ -249,7 +249,7 @@ void currentPlayerQueuePickupWeaponHudmsg(u32 weaponnum, bool dual);
|
||||
u32 func0f088840(struct prop *prop, bool showhudmsg);
|
||||
u32 func0f089014(void);
|
||||
u32 func0f0899dc(void);
|
||||
u32 func0f089a94(void);
|
||||
void func0f089a94(bool arg0, struct model *model);
|
||||
u32 func0f089c70(void);
|
||||
u32 func0f089d64(void);
|
||||
u32 func0f089db8(void);
|
||||
|
||||
+25
-15
@@ -36,7 +36,7 @@ struct explosion;
|
||||
struct prop {
|
||||
/*0x00*/ u8 type;
|
||||
/*0x01*/ u8 flags;
|
||||
/*0x02*/ s16 timetoregen;
|
||||
/*0x02*/ s16 timetoregen; // ticks down
|
||||
|
||||
/*0x04*/
|
||||
union {
|
||||
@@ -1135,7 +1135,7 @@ struct autogunobj { // objtype 0d
|
||||
/*0x90*/ u32 unk90;
|
||||
/*0x94*/ u32 unk94;
|
||||
/*0x98*/ u32 unk98;
|
||||
/*0x9c*/ u32 unk9c;
|
||||
/*0x9c*/ struct fireslot04 *unk9c;
|
||||
/*0xa0*/ u32 unka0;
|
||||
/*0xa4*/ u32 unka4;
|
||||
/*0xa8*/ u8 autogun_type;
|
||||
@@ -1149,7 +1149,7 @@ struct multiammocrateobj { // objtype 14
|
||||
|
||||
struct shieldobj { // objtype 15
|
||||
struct defaultobj base;
|
||||
/*0x5c*/ f32 unk5c;
|
||||
/*0x5c*/ f32 initialamount;
|
||||
/*0x60*/ f32 amount;
|
||||
};
|
||||
|
||||
@@ -1282,7 +1282,7 @@ struct chopperobj {
|
||||
/*0xd4*/ f32 gunrotx;
|
||||
/*0xd8*/ f32 barrelrotspeed;
|
||||
/*0xdc*/ f32 barrelrot;
|
||||
/*0xdc*/ u32 unke0;
|
||||
/*0xe0*/ struct fireslotthing *fireslotthing;
|
||||
/*0xe4*/ bool dead;
|
||||
};
|
||||
|
||||
@@ -3271,19 +3271,29 @@ struct room {
|
||||
/*0x88*/ u32 unk88;
|
||||
};
|
||||
|
||||
struct fireslot04 {
|
||||
s8 unk00;
|
||||
s8 unk01;
|
||||
u32 unk04;
|
||||
u32 unk08;
|
||||
u32 unk0c;
|
||||
u32 unk10;
|
||||
u32 unk14;
|
||||
u32 unk18;
|
||||
f32 unk1c;
|
||||
f32 unk20;
|
||||
u32 unk24;
|
||||
f32 unk28;
|
||||
};
|
||||
|
||||
struct fireslotthing {
|
||||
/*0x00*/ u32 unk00;
|
||||
/*0x04*/ struct fireslot04 *unk04;
|
||||
};
|
||||
|
||||
struct fireslot {
|
||||
/*0x00*/ s32 unk00;
|
||||
/*0x04*/ u32 unk04;
|
||||
/*0x08*/ u32 unk08;
|
||||
/*0x0c*/ u32 unk0c;
|
||||
/*0x10*/ u32 unk10;
|
||||
/*0x14*/ u32 unk14;
|
||||
/*0x18*/ u32 unk18;
|
||||
/*0x1c*/ u32 unk1c;
|
||||
/*0x20*/ u32 unk20;
|
||||
/*0x24*/ u32 unk24;
|
||||
/*0x28*/ u32 unk28;
|
||||
/*0x2c*/ u32 unk2c;
|
||||
/*0x04*/ struct fireslot04 unk04;
|
||||
};
|
||||
|
||||
struct menulayer {
|
||||
|
||||
Reference in new issue
Block a user