From d73df6dca7c27df7a735703c36d6bd762f7f81fa Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Mon, 21 Sep 2020 22:28:35 +1000 Subject: [PATCH] Decompile func0f153e38 --- src/game/game_1531a0.c | 25 +++++++++++-------------- src/gvars/gvars.c | 25 +------------------------ src/include/gvars/gvars.h | 2 +- src/include/types.h | 27 +++++++++++++++++++++++++++ 4 files changed, 40 insertions(+), 39 deletions(-) diff --git a/src/game/game_1531a0.c b/src/game/game_1531a0.c index ab8798eec..ff3a7bdd9 100644 --- a/src/game/game_1531a0.c +++ b/src/game/game_1531a0.c @@ -760,14 +760,11 @@ glabel func0f153d88 /* f153e34: ac590060 */ sw $t9,0x60($v0) ); -GLOBAL_ASM( -glabel func0f153e38 -/* f153e38: 3c02800a */ lui $v0,%hi(var800a45d0) -/* f153e3c: 244245d0 */ addiu $v0,$v0,%lo(var800a45d0) -/* f153e40: ac440058 */ sw $a0,0x58($v0) -/* f153e44: 03e00008 */ jr $ra -/* f153e48: ac45005c */ sw $a1,0x5c($v0) -); +void func0f153e38(u32 colour1, u32 colour2) +{ + var800a45d0.colour1 = colour1; + var800a45d0.colour2 = colour2; +} GLOBAL_ASM( glabel func0f153e4c @@ -1933,8 +1930,8 @@ glabel func0f154ecc /* f154edc: afa60020 */ sw $a2,0x20($sp) /* f154ee0: 00c02825 */ or $a1,$a2,$zero /* f154ee4: afbf0014 */ sw $ra,0x14($sp) -/* f154ee8: 3c06800a */ lui $a2,%hi(var800a45d4) -/* f154eec: 8cc645d4 */ lw $a2,%lo(var800a45d4)($a2) +/* f154ee8: 3c06800a */ lui $a2,%hi(var800a45d0+0x4) +/* f154eec: 8cc645d4 */ lw $a2,%lo(var800a45d0+0x4)($a2) /* f154ef0: 0fc550eb */ jal func0f1543ac /* f154ef4: afa70018 */ sw $a3,0x18($sp) /* f154ef8: 3c05800a */ lui $a1,%hi(var800a45d0) @@ -2844,7 +2841,7 @@ glabel func0f15568c /* f155c64: 3c04800a */ lui $a0,%hi(var800a4634) /* f155c68: 00a03825 */ or $a3,$a1,$zero /* f155c6c: 03380019 */ multu $t9,$t8 -/* f155c70: 3c02800a */ lui $v0,%hi(var800a45d4) +/* f155c70: 3c02800a */ lui $v0,%hi(var800a45d0+0x4) /* f155c74: 00007812 */ mflo $t7 /* f155c78: 006f7021 */ addu $t6,$v1,$t7 /* f155c7c: 01c5082a */ slt $at,$t6,$a1 @@ -2852,7 +2849,7 @@ glabel func0f15568c /* f155c84: 24a2fffd */ addiu $v0,$a1,-3 /* f155c88: 82390001 */ lb $t9,0x1($s1) /* f155c8c: 92380002 */ lbu $t8,0x2($s1) -/* f155c90: 8c4245d4 */ lw $v0,%lo(var800a45d4)($v0) +/* f155c90: 8c4245d4 */ lw $v0,%lo(var800a45d0+0x4)($v0) /* f155c94: 032a3021 */ addu $a2,$t9,$t2 /* f155c98: 00d87821 */ addu $t7,$a2,$t8 /* f155c9c: afaf0010 */ sw $t7,0x10($sp) @@ -2899,10 +2896,10 @@ glabel func0f15568c /* f155d34: 006ec821 */ addu $t9,$v1,$t6 /* f155d38: 0322082a */ slt $at,$t9,$v0 /* f155d3c: 142000ab */ bnez $at,.L0f155fec -/* f155d40: 3c02800a */ lui $v0,%hi(var800a45d4) +/* f155d40: 3c02800a */ lui $v0,%hi(var800a45d0+0x4) /* f155d44: 82380001 */ lb $t8,0x1($s1) /* f155d48: 922f0002 */ lbu $t7,0x2($s1) -/* f155d4c: 8c4245d4 */ lw $v0,%lo(var800a45d4)($v0) +/* f155d4c: 8c4245d4 */ lw $v0,%lo(var800a45d0+0x4)($v0) /* f155d50: 030a3021 */ addu $a2,$t8,$t2 /* f155d54: 00cf7021 */ addu $t6,$a2,$t7 /* f155d58: afae0010 */ sw $t6,0x10($sp) diff --git a/src/gvars/gvars.c b/src/gvars/gvars.c index 591c7fdd5..f504245c3 100644 --- a/src/gvars/gvars.c +++ b/src/gvars/gvars.c @@ -16184,30 +16184,7 @@ u32 var800a45c0 = 0; u32 var800a45c4 = 0; u32 var800a45c8 = 0; u32 var800a45cc = 0; -u32 var800a45d0 = 0; -u32 var800a45d4 = 0; -u32 var800a45d8 = 0; -u32 var800a45dc = 0; -u32 var800a45e0 = 0; -u32 var800a45e4 = 0; -u32 var800a45e8 = 0; -u32 var800a45ec = 0; -u32 var800a45f0 = 0; -u32 var800a45f4 = 0; -u32 var800a45f8 = 0; -u32 var800a45fc = 0; -u32 var800a4600 = 0; -u32 var800a4604 = 0; -u32 var800a4608 = 0; -u32 var800a460c = 0; -u32 var800a4610 = 0; -u32 var800a4614 = 0; -u32 var800a4618 = 0; -u32 var800a461c = 0; -u32 var800a4620 = 0; -u32 var800a4624 = 0; -u32 var800a4628 = 0; -u32 var800a462c = 0; +struct var800a45d0 var800a45d0 = {0}; u32 var800a4630 = 0; u32 var800a4634 = 0; u32 var800a4638 = 0; diff --git a/src/include/gvars/gvars.h b/src/include/gvars/gvars.h index 54cae65c3..88536f358 100644 --- a/src/include/gvars/gvars.h +++ b/src/include/gvars/gvars.h @@ -714,7 +714,7 @@ extern u32 var800a45a0; extern u32 var800a45a8; extern u32 var800a45c0; extern u32 var800a45c4; -extern u32 var800a45d0; +extern struct var800a45d0 var800a45d0; extern u32 var800a4634; extern struct var800a4640 var800a4640; extern u32 var800a491c; diff --git a/src/include/types.h b/src/include/types.h index d4bb6bf77..3f3fdc2d0 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -6834,4 +6834,31 @@ struct menucolourpalette { /*0x38*/ u32 unk38; }; +struct var800a45d0 { + /*0x00*/ u32 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; + /*0x30*/ u32 unk30; + /*0x34*/ u32 unk34; + /*0x38*/ u32 unk38; + /*0x3c*/ u32 unk3c; + /*0x40*/ u32 unk40; + /*0x44*/ u32 unk44; + /*0x48*/ u32 unk48; + /*0x4c*/ u32 unk4c; + /*0x50*/ u32 unk50; + /*0x54*/ u32 unk54; + /*0x58*/ u32 colour1; + /*0x5c*/ u32 colour2; +}; + #endif