mirror of
https://github.com/pmret/papermario.git
synced 2024-11-09 12:32:38 +01:00
Changes from master
This commit is contained in:
commit
e0a67c92ec
@ -1,108 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
.include "include/macro.inc"
|
||||
|
||||
glabel show_coin_counter
|
||||
/* 0829C8 800E9518 27BDFFC8 */ addiu $sp, $sp, -0x38
|
||||
/* 0829CC 800E951C AFB00028 */ sw $s0, 0x28($sp)
|
||||
/* 0829D0 800E9520 3C108011 */ lui $s0, 0x8011
|
||||
/* 0829D4 800E9524 2610CD10 */ addiu $s0, $s0, -0x32f0
|
||||
/* 0829D8 800E9528 AFBF0030 */ sw $ra, 0x30($sp)
|
||||
/* 0829DC 800E952C AFB1002C */ sw $s1, 0x2c($sp)
|
||||
/* 0829E0 800E9530 86020000 */ lh $v0, ($s0)
|
||||
/* 0829E4 800E9534 3C118011 */ lui $s1, 0x8011
|
||||
/* 0829E8 800E9538 2631EF58 */ addiu $s1, $s1, -0x10a8
|
||||
/* 0829EC 800E953C 14400005 */ bnez $v0, .L800E9554
|
||||
/* 0829F0 800E9540 24040014 */ addiu $a0, $zero, 0x14
|
||||
/* 0829F4 800E9544 3C028011 */ lui $v0, 0x8011
|
||||
/* 0829F8 800E9548 8442CD12 */ lh $v0, -0x32ee($v0)
|
||||
/* 0829FC 800E954C 10400012 */ beqz $v0, .L800E9598
|
||||
/* 082A00 800E9550 00000000 */ nop
|
||||
.L800E9554:
|
||||
/* 082A04 800E9554 0C051F9F */ jal func_80147E7C
|
||||
/* 082A08 800E9558 24050002 */ addiu $a1, $zero, 2
|
||||
/* 082A0C 800E955C 8E220064 */ lw $v0, 0x64($s1)
|
||||
/* 082A10 800E9560 04420009 */ bltzl $v0, .L800E9588
|
||||
/* 082A14 800E9564 A220006C */ sb $zero, 0x6c($s1)
|
||||
/* 082A18 800E9568 8E24005C */ lw $a0, 0x5c($s1)
|
||||
/* 082A1C 800E956C 0C05123D */ jal free_icon
|
||||
/* 082A20 800E9570 00000000 */ nop
|
||||
/* 082A24 800E9574 0C05123D */ jal free_icon
|
||||
/* 082A28 800E9578 8E240060 */ lw $a0, 0x60($s1)
|
||||
/* 082A2C 800E957C 2402FFFF */ addiu $v0, $zero, -1
|
||||
/* 082A30 800E9580 AE220064 */ sw $v0, 0x64($s1)
|
||||
/* 082A34 800E9584 A220006C */ sb $zero, 0x6c($s1)
|
||||
.L800E9588:
|
||||
/* 082A38 800E9588 A220006D */ sb $zero, 0x6d($s1)
|
||||
/* 082A3C 800E958C A6000000 */ sh $zero, ($s0)
|
||||
/* 082A40 800E9590 3C018011 */ lui $at, 0x8011
|
||||
/* 082A44 800E9594 A420CD12 */ sh $zero, -0x32ee($at)
|
||||
.L800E9598:
|
||||
/* 082A48 800E9598 8222006C */ lb $v0, 0x6c($s1)
|
||||
/* 082A4C 800E959C 14400039 */ bnez $v0, .L800E9684
|
||||
/* 082A50 800E95A0 24040014 */ addiu $a0, $zero, 0x14
|
||||
/* 082A54 800E95A4 24050020 */ addiu $a1, $zero, 0x20
|
||||
/* 082A58 800E95A8 240600A4 */ addiu $a2, $zero, 0xa4
|
||||
/* 082A5C 800E95AC 24070040 */ addiu $a3, $zero, 0x40
|
||||
/* 082A60 800E95B0 0080102D */ daddu $v0, $a0, $zero
|
||||
/* 082A64 800E95B4 AFA20010 */ sw $v0, 0x10($sp)
|
||||
/* 082A68 800E95B8 24020015 */ addiu $v0, $zero, 0x15
|
||||
/* 082A6C 800E95BC AFA20014 */ sw $v0, 0x14($sp)
|
||||
/* 082A70 800E95C0 3C02800F */ lui $v0, 0x800f
|
||||
/* 082A74 800E95C4 244292D8 */ addiu $v0, $v0, -0x6d28
|
||||
/* 082A78 800E95C8 AFA20018 */ sw $v0, 0x18($sp)
|
||||
/* 082A7C 800E95CC 2402FFFF */ addiu $v0, $zero, -1
|
||||
/* 082A80 800E95D0 AFA0001C */ sw $zero, 0x1c($sp)
|
||||
/* 082A84 800E95D4 0C051F32 */ jal func_80147CC8
|
||||
/* 082A88 800E95D8 AFA20020 */ sw $v0, 0x20($sp)
|
||||
/* 082A8C 800E95DC 3C058014 */ lui $a1, 0x8014
|
||||
/* 082A90 800E95E0 24A57474 */ addiu $a1, $a1, 0x7474
|
||||
/* 082A94 800E95E4 0C051F9F */ jal func_80147E7C
|
||||
/* 082A98 800E95E8 24040014 */ addiu $a0, $zero, 0x14
|
||||
/* 082A9C 800E95EC 3C048011 */ lui $a0, 0x8011
|
||||
/* 082AA0 800E95F0 24849270 */ addiu $a0, $a0, -0x6d90
|
||||
/* 082AA4 800E95F4 0C050529 */ jal create_icon
|
||||
/* 082AA8 800E95F8 00000000 */ nop
|
||||
/* 082AAC 800E95FC 0040802D */ daddu $s0, $v0, $zero
|
||||
/* 082AB0 800E9600 0200202D */ daddu $a0, $s0, $zero
|
||||
/* 082AB4 800E9604 24050080 */ addiu $a1, $zero, 0x80
|
||||
/* 082AB8 800E9608 0C051280 */ jal set_icon_flags
|
||||
/* 082ABC 800E960C AE30005C */ sw $s0, 0x5c($s1)
|
||||
/* 082AC0 800E9610 0200202D */ daddu $a0, $s0, $zero
|
||||
/* 082AC4 800E9614 240500FF */ addiu $a1, $zero, 0xff
|
||||
/* 082AC8 800E9618 00A0302D */ daddu $a2, $a1, $zero
|
||||
/* 082ACC 800E961C 0C0513BF */ jal func_80144EFC
|
||||
/* 082AD0 800E9620 00A0382D */ daddu $a3, $a1, $zero
|
||||
/* 082AD4 800E9624 3C048011 */ lui $a0, 0x8011
|
||||
/* 082AD8 800E9628 24848558 */ addiu $a0, $a0, -0x7aa8
|
||||
/* 082ADC 800E962C 0C050529 */ jal create_icon
|
||||
/* 082AE0 800E9630 00000000 */ nop
|
||||
/* 082AE4 800E9634 0040802D */ daddu $s0, $v0, $zero
|
||||
/* 082AE8 800E9638 0200202D */ daddu $a0, $s0, $zero
|
||||
/* 082AEC 800E963C 24050080 */ addiu $a1, $zero, 0x80
|
||||
/* 082AF0 800E9640 0C051280 */ jal set_icon_flags
|
||||
/* 082AF4 800E9644 AE300060 */ sw $s0, 0x60($s1)
|
||||
/* 082AF8 800E9648 0200202D */ daddu $a0, $s0, $zero
|
||||
/* 082AFC 800E964C 240500FF */ addiu $a1, $zero, 0xff
|
||||
/* 082B00 800E9650 00A0302D */ daddu $a2, $a1, $zero
|
||||
/* 082B04 800E9654 0C0513BF */ jal func_80144EFC
|
||||
/* 082B08 800E9658 00A0382D */ daddu $a3, $a1, $zero
|
||||
/* 082B0C 800E965C 8222006E */ lb $v0, 0x6e($s1)
|
||||
/* 082B10 800E9660 04410003 */ bgez $v0, .L800E9670
|
||||
/* 082B14 800E9664 A220006C */ sb $zero, 0x6c($s1)
|
||||
/* 082B18 800E9668 92220044 */ lbu $v0, 0x44($s1)
|
||||
/* 082B1C 800E966C A222006E */ sb $v0, 0x6e($s1)
|
||||
.L800E9670:
|
||||
/* 082B20 800E9670 24020001 */ addiu $v0, $zero, 1
|
||||
/* 082B24 800E9674 A2220044 */ sb $v0, 0x44($s1)
|
||||
/* 082B28 800E9678 24020001 */ addiu $v0, $zero, 1
|
||||
/* 082B2C 800E967C 3C018011 */ lui $at, 0x8011
|
||||
/* 082B30 800E9680 A422CD10 */ sh $v0, -0x32f0($at)
|
||||
.L800E9684:
|
||||
/* 082B34 800E9684 8FBF0030 */ lw $ra, 0x30($sp)
|
||||
/* 082B38 800E9688 8FB1002C */ lw $s1, 0x2c($sp)
|
||||
/* 082B3C 800E968C 8FB00028 */ lw $s0, 0x28($sp)
|
||||
/* 082B40 800E9690 03E00008 */ jr $ra
|
||||
/* 082B44 800E9694 27BD0038 */ addiu $sp, $sp, 0x38
|
||||
|
@ -1,85 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
.include "include/macro.inc"
|
||||
|
||||
glabel UpdateMusicPlayers
|
||||
/* 0DD964 80147264 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0DD968 80147268 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 0DD96C 8014726C 3C108016 */ lui $s0, 0x8016
|
||||
/* 0DD970 80147270 2610C7C0 */ addiu $s0, $s0, -0x3840
|
||||
/* 0DD974 80147274 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0DD978 80147278 86030002 */ lh $v1, 2($s0)
|
||||
/* 0DD97C 8014727C 24020001 */ addiu $v0, $zero, 1
|
||||
/* 0DD980 80147280 10620007 */ beq $v1, $v0, .L801472A0
|
||||
/* 0DD984 80147284 28620002 */ slti $v0, $v1, 2
|
||||
/* 0DD988 80147288 14400033 */ bnez $v0, .L80147358
|
||||
/* 0DD98C 8014728C 24020002 */ addiu $v0, $zero, 2
|
||||
/* 0DD990 80147290 10620015 */ beq $v1, $v0, .L801472E8
|
||||
/* 0DD994 80147294 00000000 */ nop
|
||||
/* 0DD998 80147298 08051CD6 */ j .L80147358
|
||||
/* 0DD99C 8014729C 00000000 */ nop
|
||||
|
||||
.L801472A0:
|
||||
/* 0DD9A0 801472A0 96020000 */ lhu $v0, 0($s0)
|
||||
/* 0DD9A4 801472A4 30420001 */ andi $v0, $v0, 1
|
||||
/* 0DD9A8 801472A8 1040000D */ beqz $v0, .L801472E0
|
||||
/* 0DD9AC 801472AC 24020002 */ addiu $v0, $zero, 2
|
||||
/* 0DD9B0 801472B0 8E050004 */ lw $a1, 4($s0)
|
||||
/* 0DD9B4 801472B4 28A200FA */ slti $v0, $a1, 0xfa
|
||||
/* 0DD9B8 801472B8 10400005 */ beqz $v0, .L801472D0
|
||||
/* 0DD9BC 801472BC 00000000 */ nop
|
||||
/* 0DD9C0 801472C0 0C015529 */ jal func_800554A4
|
||||
/* 0DD9C4 801472C4 0000202D */ daddu $a0, $zero, $zero
|
||||
/* 0DD9C8 801472C8 08051CB6 */ j .L801472D8
|
||||
/* 0DD9CC 801472CC 00000000 */ nop
|
||||
|
||||
.L801472D0:
|
||||
/* 0DD9D0 801472D0 0C01553A */ jal func_800554E8
|
||||
/* 0DD9D4 801472D4 0000202D */ daddu $a0, $zero, $zero
|
||||
.L801472D8:
|
||||
/* 0DD9D8 801472D8 1440001F */ bnez $v0, .L80147358
|
||||
/* 0DD9DC 801472DC 24020002 */ addiu $v0, $zero, 2
|
||||
.L801472E0:
|
||||
/* 0DD9E0 801472E0 08051CD6 */ j .L80147358
|
||||
/* 0DD9E4 801472E4 A6020002 */ sh $v0, 2($s0)
|
||||
|
||||
.L801472E8:
|
||||
/* 0DD9E8 801472E8 96020000 */ lhu $v0, 0($s0)
|
||||
/* 0DD9EC 801472EC 30420001 */ andi $v0, $v0, 1
|
||||
/* 0DD9F0 801472F0 10400008 */ beqz $v0, .L80147314
|
||||
/* 0DD9F4 801472F4 00000000 */ nop
|
||||
/* 0DD9F8 801472F8 0C015579 */ jal func_800555E4
|
||||
/* 0DD9FC 801472FC 0000202D */ daddu $a0, $zero, $zero
|
||||
/* 0DDA00 80147300 14400015 */ bnez $v0, .L80147358
|
||||
/* 0DDA04 80147304 00000000 */ nop
|
||||
/* 0DDA08 80147308 96020000 */ lhu $v0, 0($s0)
|
||||
/* 0DDA0C 8014730C 3042FFFE */ andi $v0, $v0, 0xfffe
|
||||
/* 0DDA10 80147310 A6020000 */ sh $v0, 0($s0)
|
||||
.L80147314:
|
||||
/* 0DDA14 80147314 8E040008 */ lw $a0, 8($s0)
|
||||
/* 0DDA18 80147318 04810003 */ bgez $a0, .L80147328
|
||||
/* 0DDA1C 8014731C 00000000 */ nop
|
||||
/* 0DDA20 80147320 08051CD6 */ j .L80147358
|
||||
/* 0DDA24 80147324 A6000002 */ sh $zero, 2($s0)
|
||||
|
||||
.L80147328:
|
||||
/* 0DDA28 80147328 0C015512 */ jal func_80055448
|
||||
/* 0DDA2C 8014732C 00000000 */ nop
|
||||
/* 0DDA30 80147330 14400009 */ bnez $v0, .L80147358
|
||||
/* 0DDA34 80147334 0000202D */ daddu $a0, $zero, $zero
|
||||
/* 0DDA38 80147338 0C015519 */ jal func_80055464
|
||||
/* 0DDA3C 8014733C 0080282D */ daddu $a1, $a0, $zero
|
||||
/* 0DDA40 80147340 14400005 */ bnez $v0, .L80147358
|
||||
/* 0DDA44 80147344 00000000 */ nop
|
||||
/* 0DDA48 80147348 96020000 */ lhu $v0, 0($s0)
|
||||
/* 0DDA4C 8014734C A6000002 */ sh $zero, 2($s0)
|
||||
/* 0DDA50 80147350 34420001 */ ori $v0, $v0, 1
|
||||
/* 0DDA54 80147354 A6020000 */ sh $v0, 0($s0)
|
||||
.L80147358:
|
||||
/* 0DDA58 80147358 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0DDA5C 8014735C 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 0DDA60 80147360 03E00008 */ jr $ra
|
||||
/* 0DDA64 80147364 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
|
||||
|
@ -1,44 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
.include "include/macro.inc"
|
||||
|
||||
glabel play_ambient_sounds
|
||||
/* 0DDA68 80147368 3C028007 */ lui $v0, 0x8007
|
||||
/* 0DDA6C 8014736C 8C42419C */ lw $v0, 0x419c($v0)
|
||||
/* 0DDA70 80147370 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0DDA74 80147374 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 0DDA78 80147378 3C108016 */ lui $s0, 0x8016
|
||||
/* 0DDA7C 8014737C 2610C7C0 */ addiu $s0, $s0, -0x3840
|
||||
/* 0DDA80 80147380 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0DDA84 80147384 8042007A */ lb $v0, 0x7a($v0)
|
||||
/* 0DDA88 80147388 14400009 */ bnez $v0, .L801473B0
|
||||
/* 0DDA8C 8014738C 0200302D */ daddu $a2, $s0, $zero
|
||||
/* 0DDA90 80147390 8E040008 */ lw $a0, 8($s0)
|
||||
/* 0DDA94 80147394 0C015529 */ jal func_800554A4
|
||||
/* 0DDA98 80147398 00000000 */ nop
|
||||
/* 0DDA9C 8014739C 96030000 */ lhu $v1, ($s0)
|
||||
/* 0DDAA0 801473A0 24020001 */ addiu $v0, $zero, 1
|
||||
/* 0DDAA4 801473A4 3063FFFE */ andi $v1, $v1, 0xfffe
|
||||
/* 0DDAA8 801473A8 08051CF5 */ j .L801473D4
|
||||
/* 0DDAAC 801473AC A6030000 */ sh $v1, ($s0)
|
||||
|
||||
.L801473B0:
|
||||
/* 0DDAB0 801473B0 8CC20008 */ lw $v0, 8($a2)
|
||||
/* 0DDAB4 801473B4 10440006 */ beq $v0, $a0, .L801473D0
|
||||
/* 0DDAB8 801473B8 24020001 */ addiu $v0, $zero, 1
|
||||
/* 0DDABC 801473BC 0040182D */ daddu $v1, $v0, $zero
|
||||
/* 0DDAC0 801473C0 ACC40008 */ sw $a0, 8($a2)
|
||||
/* 0DDAC4 801473C4 ACC50004 */ sw $a1, 4($a2)
|
||||
/* 0DDAC8 801473C8 08051CF5 */ j .L801473D4
|
||||
/* 0DDACC 801473CC A4C30002 */ sh $v1, 2($a2)
|
||||
|
||||
.L801473D0:
|
||||
/* 0DDAD0 801473D0 24020002 */ addiu $v0, $zero, 2
|
||||
.L801473D4:
|
||||
/* 0DDAD4 801473D4 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0DDAD8 801473D8 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 0DDADC 801473DC 03E00008 */ jr $ra
|
||||
/* 0DDAE0 801473E0 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
#define _COMMON_STRUCTS_H_
|
||||
|
||||
#include "ultra64.h"
|
||||
#include "types.h"
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ s16 unk_00;
|
||||
|
@ -12,6 +12,11 @@ s32 get_variable(script_context* script, s32 pos);
|
||||
f32 get_float_variable(script_context* script, s32 pos);
|
||||
f32 sin_deg(f32 x);
|
||||
f32 cos_deg(f32 x);
|
||||
s32 func_80055448(s32);
|
||||
s32 func_80055464(s32, s32);
|
||||
s32 func_800554A4(s32, s32);
|
||||
s32 func_800554E8(s32, s32);
|
||||
s32 func_800555E4(s32);
|
||||
|
||||
s32 play_sound_at_position(s32 soundID, s32 value2, f32 posX, f32 posY, f32 posZ);
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
#define INCLUDE_ASM(FOLDER, NAME, ARGS...) \
|
||||
__attribute__((naked)) NAME(ARGS) { __asm__( ".include \"asm/nonmatchings/"#FOLDER"/"#NAME".s\"\n.set reorder\n.set at"); }
|
||||
|
||||
#endif
|
||||
|
||||
#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
|
||||
#define ARRAY_COUNTU(arr) (u32)(sizeof(arr) / sizeof(arr[0]))
|
||||
|
||||
#endif
|
||||
|
@ -3,6 +3,7 @@
|
||||
|
||||
#include "ultra64.h"
|
||||
#include "common_structs.h"
|
||||
#include "types.h"
|
||||
|
||||
extern ui_status gUIStatus;
|
||||
extern player_data gPlayerData;
|
||||
@ -26,4 +27,13 @@ extern s16 gCurrentDoorSoundsSet;
|
||||
|
||||
|
||||
|
||||
extern UNK_TYPE D_800E92D8;
|
||||
extern UNK_TYPE D_80147474;
|
||||
extern UNK_TYPE D_80147574;
|
||||
extern UNK_TYPE D_80109270;
|
||||
extern UNK_TYPE D_80108558;
|
||||
extern u16 D_800A0940;
|
||||
extern u16 D_800A0942;
|
||||
extern s16 D_800A0944;
|
||||
|
||||
#endif
|
||||
|
@ -12,19 +12,19 @@ INCLUDE_ASM(code_303c0_len_3e10, func_80055330);
|
||||
|
||||
INCLUDE_ASM(code_303c0_len_3e10, func_800553C0);
|
||||
|
||||
INCLUDE_ASM(code_303c0_len_3e10, func_80055448);
|
||||
s32 INCLUDE_ASM(code_303c0_len_3e10, func_80055448, s32 arg0);
|
||||
|
||||
INCLUDE_ASM(code_303c0_len_3e10, func_80055464);
|
||||
s32 INCLUDE_ASM(code_303c0_len_3e10, func_80055464, s32 arg0, s32 arg1);
|
||||
|
||||
INCLUDE_ASM(code_303c0_len_3e10, func_800554A4);
|
||||
s32 INCLUDE_ASM(code_303c0_len_3e10, func_800554A4, s32 arg0, s32 arg1);
|
||||
|
||||
INCLUDE_ASM(code_303c0_len_3e10, func_800554E8);
|
||||
s32 INCLUDE_ASM(code_303c0_len_3e10, func_800554E8, s32 arg0, s32 arg1);
|
||||
|
||||
INCLUDE_ASM(code_303c0_len_3e10, func_8005553C);
|
||||
|
||||
INCLUDE_ASM(code_303c0_len_3e10, func_80055590);
|
||||
|
||||
INCLUDE_ASM(code_303c0_len_3e10, func_800555E4);
|
||||
s32 INCLUDE_ASM(code_303c0_len_3e10, func_800555E4, s32 arg0);
|
||||
|
||||
INCLUDE_ASM(code_303c0_len_3e10, func_800556D0);
|
||||
|
||||
|
@ -300,8 +300,96 @@ void coin_counter_draw_content(UNK_TYPE arg0, s32 posX, s32 posY) {
|
||||
}
|
||||
|
||||
INCLUDE_ASM(code_80850_len_3060, update_coin_counter);
|
||||
// very close to matching, but probably not right.
|
||||
/*
|
||||
void update_coin_counter(void) {
|
||||
ui_status* uiStatus = &gUIStatus;
|
||||
player_data* playerData = &gPlayerData;
|
||||
|
||||
INCLUDE_ASM(code_80850_len_3060, show_coin_counter);
|
||||
if (uiStatus->unk_6D != 0) {
|
||||
uiStatus->unk_6D -= 1;
|
||||
if ((uiStatus->unk_6D << 24) == 0) {
|
||||
if (uiStatus->iconIndex12 >= 0) {
|
||||
free_icon(uiStatus->iconIndex12);
|
||||
free_icon(uiStatus->iconIndex13);
|
||||
uiStatus->iconIndex12 = -1;
|
||||
}
|
||||
}
|
||||
D_8010CD12 = 0;
|
||||
}
|
||||
|
||||
if (uiStatus->unk_6C != 0) {
|
||||
if (uiStatus->displayCoins == playerData->coins) {
|
||||
if (uiStatus->unk_6C > 30) {
|
||||
uiStatus->unk_6C = 30;
|
||||
}
|
||||
if (uiStatus->displayCoins == playerData->coins) {
|
||||
goto tail;
|
||||
}
|
||||
}
|
||||
|
||||
if (uiStatus->unk_6C > 0x1E) {
|
||||
return;
|
||||
}
|
||||
|
||||
tail:
|
||||
uiStatus->unk_6C -= 1;
|
||||
if (uiStatus->unk_6C == 0) {
|
||||
func_80147E7C(20, &D_80147574);
|
||||
uiStatus->unk_6D = 15;
|
||||
D_8010CD10 = 0;
|
||||
D_8010CD12 = 1;
|
||||
uiStatus->iconIndex12 = uiStatus->iconIndex10;
|
||||
uiStatus->iconIndex13 = uiStatus->iconIndex11;
|
||||
uiStatus->displayCoins = playerData->coins;
|
||||
if (uiStatus->unk_6E > -1) {
|
||||
uiStatus->ignoreChanges = uiStatus->unk_6E;
|
||||
uiStatus->unk_6E = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
void show_coin_counter(void) {
|
||||
ui_status* uiStatus = &gUIStatus;
|
||||
s16 *coinCounterUnk = &D_8010CD10;
|
||||
s32 index;
|
||||
|
||||
if ((*coinCounterUnk != 0) || (D_8010CD12 != 0)) {
|
||||
func_80147E7C(0x14, 2);
|
||||
if (uiStatus->iconIndex12 > -1) {
|
||||
free_icon(uiStatus->iconIndex10);
|
||||
free_icon(uiStatus->iconIndex11);
|
||||
uiStatus->iconIndex12 = -1;
|
||||
}
|
||||
uiStatus->unk_6C = 0;
|
||||
uiStatus->unk_6D = 0;
|
||||
*coinCounterUnk = 0;
|
||||
D_8010CD12 = 0;
|
||||
}
|
||||
|
||||
if (uiStatus->unk_6C == 0) {
|
||||
func_80147CC8(0x14, 0x20, 0xa4, 0x40, 0x14, 0x15, &D_800E92D8, 0, -1);
|
||||
func_80147E7C(0x14, &D_80147474);
|
||||
index = create_icon(&D_80109270);
|
||||
uiStatus->iconIndex10 = index;
|
||||
set_icon_flags(index, 0x80);
|
||||
func_80144EFC(index, 0xff, 0xff, 0xff);
|
||||
index = create_icon(&D_80108558);
|
||||
uiStatus->iconIndex11 = index;
|
||||
set_icon_flags(index, 0x80);
|
||||
func_80144EFC(index, 0xff, 0xff, 0xff);
|
||||
uiStatus->unk_6C = 0;
|
||||
|
||||
if (uiStatus->unk_6E < 0) {
|
||||
uiStatus->unk_6E = uiStatus->ignoreChanges;
|
||||
}
|
||||
|
||||
uiStatus->ignoreChanges = 1;
|
||||
D_8010CD10 = 1;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
void hide_coin_counter(void) {
|
||||
ui_status* uiStatus = &gUIStatus;
|
||||
|
@ -1,45 +1,75 @@
|
||||
#include "common.h"
|
||||
|
||||
typedef struct {
|
||||
s16 unk0;
|
||||
s16 unk2;
|
||||
s32 unk4;
|
||||
s32 unk8;
|
||||
s32 unkC;
|
||||
s16 unk0;
|
||||
s16 unk2;
|
||||
s32 unk4;
|
||||
s32 unk8;
|
||||
s32 unkC;
|
||||
} struct_80147230;
|
||||
|
||||
extern struct_80147230 D_8014F140;
|
||||
extern struct_80147230 D_8015C7C0;
|
||||
|
||||
void func_80147230(void) {
|
||||
D_8015C7C0 = D_8014F140;
|
||||
D_8015C7C0 = D_8014F140;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(code_dd930_len_1c0, UpdateMusicPlayers);
|
||||
void UpdateMusicPlayers(void) {
|
||||
struct_80147230* temp = &D_8015C7C0;
|
||||
|
||||
INCLUDE_ASM(code_dd930_len_1c0, play_ambient_sounds);
|
||||
switch (temp->unk2) {
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
if (temp->unk0 & 1) {
|
||||
s32 phi_v0;
|
||||
if (temp->unk4 < 0xFA) {
|
||||
phi_v0 = func_800554A4(0, temp->unk4);
|
||||
} else {
|
||||
phi_v0 = func_800554E8(0, temp->unk4);
|
||||
}
|
||||
if (phi_v0 != 0) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
temp->unk2 = 2;
|
||||
break;
|
||||
case 2:
|
||||
if (temp->unk0 & 1) {
|
||||
if (func_800555E4(0) != 0) {
|
||||
return;
|
||||
}
|
||||
temp->unk0 &= ~1;
|
||||
}
|
||||
if (temp->unk8 < 0) {
|
||||
temp->unk2 = 0;
|
||||
} else if (func_80055448(temp->unk8) == 0) {
|
||||
if (func_80055464(0, 0) == 0) {
|
||||
temp->unk2 = 0;
|
||||
temp->unk0 |= 1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// matches, but clearly isn't correct. Investigate later.
|
||||
/*int play_ambient_sounds(int a0, int a1)
|
||||
{
|
||||
struct_80147230 *temp2 = &D_8015C7C0;
|
||||
struct_80147230 **temp3 = &temp2;
|
||||
s32 play_ambient_sounds(s32 arg0, s32 arg1) {
|
||||
struct_80147230* temp1 = &D_8015C7C0;
|
||||
struct_80147230* temp2 = &D_8015C7C0;
|
||||
|
||||
if ((*gGameStatusPtr)->musicEnabled == 0)
|
||||
{
|
||||
func_800554A4(temp2->unk8);
|
||||
temp2->unk0 &= ~1;
|
||||
if ((*gGameStatusPtr)->musicEnabled == 0) {
|
||||
func_800554A4(temp1->unk8, arg1);
|
||||
temp1->unk0 &= ~1;
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (temp1->unk8 == arg0) {
|
||||
return 2;
|
||||
}
|
||||
|
||||
temp2->unk8 = arg0;
|
||||
temp2->unk4 = arg1;
|
||||
temp2->unk2 = 1;
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
if (temp2->unk8 == a0)
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
|
||||
temp2->unk8 = a0;
|
||||
temp2->unk4 = a1;
|
||||
temp2->unk2 = 1;
|
||||
return 1;
|
||||
}*/
|
||||
}
|
@ -3,8 +3,14 @@ gUIStatus = 0x8010EF58;
|
||||
gPlayerData = 0x8010F290;
|
||||
gPlayerStatus = 0x8010EFC8;
|
||||
gItemTable = 0x800878E0;
|
||||
D_80147574 = 0x80147574;
|
||||
|
||||
gMapTransitionAlpha = 0x800A0940;
|
||||
D_800E92D8 = 0x800E92D8;
|
||||
D_80147474 = 0x80147474;
|
||||
D_80109270 = 0x80109270;
|
||||
D_80108558 = 0x80108558;
|
||||
D_800A0940 = 0x800A0940;
|
||||
D_800A0942 = 0x800A0942;
|
||||
D_800A0944 = 0x800A0944;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user