#include "ultra64.h" #include "game/initobjects.h" #include "game/chrai.h" #include "game/chrobjhandler.h" //this file may very well be a few different sub files struct object_animation_controller ptr_monitorimageobjectanimationcontroller = {&monitor_animation_microcode, 0, 0xFFFF, 0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.5, 0.0, 0.0, 0.5, 0.5, 0.5, 0.0, 0.0, 0.5, 0.5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 1.0, 0.0}; struct object_animation_controller unknown_object_animation_controller = {&dword_D_80031F00, 0, 0xFFFF, 0, 0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.5, 0.0, 0.0, 0.5, 0.5, 0.5, 0.0, 0.0, 0.5, 0.5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 1.0}; struct object_animation_controller taser_object_animation_controller = {&dword_D_80031F44, 0, 0xFFFF, 0, 0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.5, 0.0, 0.0, 0.5, 0.5, 0.5, 0.0, 0.0, 0.5, 0.5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 1.0}; f32 unused_8002a3bc = 0.0f; f32 scale_1_0_item_related = 1.0f; #ifdef NONMATCHING void init_sound_effects_registers(void) { } #else GLOBAL_ASM( .text glabel init_sound_effects_registers /* 035FE0 7F0014B0 3C038007 */ lui $v1, %hi(sfx_related) /* 035FE4 7F0014B4 3C028007 */ lui $v0, %hi(ptr_list_object_lookup_indices) /* 035FE8 7F0014B8 24429C30 */ addiu $v0, %lo(ptr_list_object_lookup_indices) # addiu $v0, $v0, -0x63d0 /* 035FEC 7F0014BC 24639B70 */ addiu $v1, %lo(sfx_related) # addiu $v1, $v1, -0x6490 .L7F0014C0: /* 035FF0 7F0014C0 24630060 */ addiu $v1, $v1, 0x60 /* 035FF4 7F0014C4 AC60FFB8 */ sw $zero, -0x48($v1) /* 035FF8 7F0014C8 AC60FFD0 */ sw $zero, -0x30($v1) /* 035FFC 7F0014CC AC60FFE8 */ sw $zero, -0x18($v1) /* 036000 7F0014D0 1462FFFB */ bne $v1, $v0, .L7F0014C0 /* 036004 7F0014D4 AC60FFA0 */ sw $zero, -0x60($v1) /* 036008 7F0014D8 03E00008 */ jr $ra /* 03600C 7F0014DC 00000000 */ nop ) #endif #ifdef NONMATCHING void init_load_objpos_table(void) { } #else GLOBAL_ASM( .text glabel init_load_objpos_table /* 036010 7F0014E0 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 036014 7F0014E4 44812000 */ mtc1 $at, $f4 /* 036018 7F0014E8 3C018003 */ lui $at, %hi(difficulty) /* 03601C 7F0014EC 3C028003 */ lui $v0, %hi(ptr_obj_pos_list_first_entry) /* 036020 7F0014F0 E4240AAC */ swc1 $f4, %lo(difficulty)($at) /* 036024 7F0014F4 24420AA4 */ addiu $v0, %lo(ptr_obj_pos_list_first_entry) # addiu $v0, $v0, 0xaa4 /* 036028 7F0014F8 AC400000 */ sw $zero, ($v0) /* 03602C 7F0014FC 3C018003 */ lui $at, %hi(ptr_obj_pos_list_current_entry) /* 036030 7F001500 AC200AA0 */ sw $zero, %lo(ptr_obj_pos_list_current_entry)($at) /* 036034 7F001504 3C018007 */ lui $at, %hi(dword_CODE_bss_80071DF4) /* 036038 7F001508 3C038007 */ lui $v1, %hi(dword_CODE_bss_80071620) /* 03603C 7F00150C AC201DF4 */ sw $zero, %lo(dword_CODE_bss_80071DF4)($at) /* 036040 7F001510 24631620 */ addiu $v1, %lo(dword_CODE_bss_80071620) # addiu $v1, $v1, 0x1620 /* 036044 7F001514 AC600000 */ sw $zero, ($v1) /* 036048 7F001518 3C018007 */ lui $at, %hi(dword_CODE_bss_80071DF0) /* 03604C 7F00151C AC231DF0 */ sw $v1, %lo(dword_CODE_bss_80071DF0)($at) /* 036050 7F001520 3C0F8007 */ lui $t7, %hi(pos_data_entry) /* 036054 7F001524 25EF9C38 */ addiu $t7, %lo(pos_data_entry) # addiu $t7, $t7, -0x63c8 /* 036058 7F001528 3C018003 */ lui $at, %hi(ptr_obj_pos_list_final_entry) /* 03605C 7F00152C AC2F0AA8 */ sw $t7, %lo(ptr_obj_pos_list_final_entry)($at) /* 036060 7F001530 3C188007 */ lui $t8, %hi(dword_CODE_bss_80069C6C) /* 036064 7F001534 27189C6C */ addiu $t8, %lo(dword_CODE_bss_80069C6C) # addiu $t8, $t8, -0x6394 /* 036068 7F001538 3C018007 */ lui $at, %hi(dword_CODE_bss_80069C5C) /* 03606C 7F00153C AC389C5C */ sw $t8, %lo(dword_CODE_bss_80069C5C)($at) /* 036070 7F001540 3C198007 */ lui $t9, %hi(dword_CODE_bss_80069CA0) /* 036074 7F001544 27399CA0 */ addiu $t9, %lo(dword_CODE_bss_80069CA0) # addiu $t9, $t9, -0x6360 /* 036078 7F001548 3C018007 */ lui $at, %hi(dword_CODE_bss_80069C90) /* 03607C 7F00154C AC399C90 */ sw $t9, %lo(dword_CODE_bss_80069C90)($at) /* 036080 7F001550 3C088007 */ lui $t0, %hi(dword_CODE_bss_80069CD4) /* 036084 7F001554 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 036088 7F001558 25029CD4 */ addiu $v0, $t0, %lo(dword_CODE_bss_80069CD4) /* 03608C 7F00155C 3C018007 */ lui $at, %hi(dword_CODE_bss_80069CC4) /* 036090 7F001560 3C038007 */ lui $v1, %hi(dword_CODE_bss_80069DA4) /* 036094 7F001564 3C048007 */ lui $a0, %hi(dword_CODE_bss_80069D08) /* 036098 7F001568 3C058007 */ lui $a1, %hi(dword_CODE_bss_80069D3C) /* 03609C 7F00156C 3C068007 */ lui $a2, %hi(dword_CODE_bss_80069D70) /* 0360A0 7F001570 3C078007 */ lui $a3, %hi(dword_CODE_bss_800716B4) /* 0360A4 7F001574 AFBF0014 */ sw $ra, 0x14($sp) /* 0360A8 7F001578 24E716B4 */ addiu $a3, %lo(dword_CODE_bss_800716B4) # addiu $a3, $a3, 0x16b4 /* 0360AC 7F00157C 24C69D70 */ addiu $a2, %lo(dword_CODE_bss_80069D70) # addiu $a2, $a2, -0x6290 /* 0360B0 7F001580 24A59D3C */ addiu $a1, %lo(dword_CODE_bss_80069D3C) # addiu $a1, $a1, -0x62c4 /* 0360B4 7F001584 24849D08 */ addiu $a0, %lo(dword_CODE_bss_80069D08) # addiu $a0, $a0, -0x62f8 /* 0360B8 7F001588 24639DA4 */ addiu $v1, %lo(dword_CODE_bss_80069DA4) # addiu $v1, $v1, -0x625c /* 0360BC 7F00158C AC229CC4 */ sw $v0, %lo(dword_CODE_bss_80069CC4)($at) .L7F001590: /* 0360C0 7F001590 AC4300C0 */ sw $v1, 0xc0($v0) /* 0360C4 7F001594 246300D0 */ addiu $v1, $v1, 0xd0 /* 0360C8 7F001598 AC450058 */ sw $a1, 0x58($v0) /* 0360CC 7F00159C AC46008C */ sw $a2, 0x8c($v0) /* 0360D0 7F0015A0 AC440024 */ sw $a0, 0x24($v0) /* 0360D4 7F0015A4 248400D0 */ addiu $a0, $a0, 0xd0 /* 0360D8 7F0015A8 24C600D0 */ addiu $a2, $a2, 0xd0 /* 0360DC 7F0015AC 24A500D0 */ addiu $a1, $a1, 0xd0 /* 0360E0 7F0015B0 1467FFF7 */ bne $v1, $a3, .L7F001590 /* 0360E4 7F0015B4 244200D0 */ addiu $v0, $v0, 0xd0 /* 0360E8 7F0015B8 0FC00574 */ jal alloc_lookup_buffers /* 0360EC 7F0015BC 00000000 */ nop /* 0360F0 7F0015C0 8FBF0014 */ lw $ra, 0x14($sp) /* 0360F4 7F0015C4 27BD0018 */ addiu $sp, $sp, 0x18 /* 0360F8 7F0015C8 03E00008 */ jr $ra /* 0360FC 7F0015CC 00000000 */ nop ) #endif #ifdef NONMATCHING void alloc_lookup_buffers(void) { } #else GLOBAL_ASM( .text glabel alloc_lookup_buffers /* 036100 7F0015D0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 036104 7F0015D4 AFBF0014 */ sw $ra, 0x14($sp) /* 036108 7F0015D8 24040400 */ li $a0, 1024 /* 03610C 7F0015DC 0C0025C8 */ jal mempAllocBytesInBank /* 036110 7F0015E0 24050004 */ li $a1, 4 /* 036114 7F0015E4 3C068004 */ lui $a2, %hi(MaxNumRooms) /* 036118 7F0015E8 3C018007 */ lui $at, %hi(ptr_list_object_lookup_indices) /* 03611C 7F0015EC AC229C30 */ sw $v0, %lo(ptr_list_object_lookup_indices)($at) /* 036120 7F0015F0 24C642F4 */ addiu $a2, %lo(MaxNumRooms) # addiu $a2, $a2, 0x42f4 /* 036124 7F0015F4 8CC40000 */ lw $a0, ($a2) /* 036128 7F0015F8 24050004 */ li $a1, 4 /* 03612C 7F0015FC 00047080 */ sll $t6, $a0, 2 /* 036130 7F001600 25C4000F */ addiu $a0, $t6, 0xf /* 036134 7F001604 348F000F */ ori $t7, $a0, 0xf /* 036138 7F001608 0C0025C8 */ jal mempAllocBytesInBank /* 03613C 7F00160C 39E4000F */ xori $a0, $t7, 0xf /* 036140 7F001610 3C078007 */ lui $a3, %hi(ptr_room_lookup_buffer_maybe) /* 036144 7F001614 24E71618 */ addiu $a3, %lo(ptr_room_lookup_buffer_maybe) # addiu $a3, $a3, 0x1618 /* 036148 7F001618 ACE20000 */ sw $v0, ($a3) /* 03614C 7F00161C 24042000 */ li $a0, 8192 /* 036150 7F001620 0C0025C8 */ jal mempAllocBytesInBank /* 036154 7F001624 24050004 */ li $a1, 4 /* 036158 7F001628 3C048007 */ lui $a0, %hi(dword_CODE_bss_8007161C) /* 03615C 7F00162C 2484161C */ addiu $a0, %lo(dword_CODE_bss_8007161C) # addiu $a0, $a0, 0x161c /* 036160 7F001630 AC820000 */ sw $v0, ($a0) /* 036164 7F001634 3C198007 */ lui $t9, %hi(ptr_list_object_lookup_indices) /* 036168 7F001638 8F399C30 */ lw $t9, %lo(ptr_list_object_lookup_indices)($t9) /* 03616C 7F00163C 2405FFFF */ li $a1, -1 /* 036170 7F001640 3C068004 */ lui $a2, %hi(MaxNumRooms) /* 036174 7F001644 24C642F4 */ addiu $a2, %lo(MaxNumRooms) # addiu $a2, $a2, 0x42f4 /* 036178 7F001648 A7250000 */ sh $a1, ($t9) /* 03617C 7F00164C 8CCB0000 */ lw $t3, ($a2) /* 036180 7F001650 3C078007 */ lui $a3, %hi(ptr_room_lookup_buffer_maybe) /* 036184 7F001654 24E71618 */ addiu $a3, %lo(ptr_room_lookup_buffer_maybe) # addiu $a3, $a3, 0x1618 /* 036188 7F001658 1960000C */ blez $t3, .L7F00168C /* 03618C 7F00165C 00001825 */ move $v1, $zero /* 036190 7F001660 00001025 */ move $v0, $zero /* 036194 7F001664 8CEC0000 */ lw $t4, ($a3) .L7F001668: /* 036198 7F001668 24630001 */ addiu $v1, $v1, 1 /* 03619C 7F00166C 01826821 */ addu $t5, $t4, $v0 /* 0361A0 7F001670 A5A50000 */ sh $a1, ($t5) /* 0361A4 7F001674 8CCE0000 */ lw $t6, ($a2) /* 0361A8 7F001678 24420002 */ addiu $v0, $v0, 2 /* 0361AC 7F00167C 006E082A */ slt $at, $v1, $t6 /* 0361B0 7F001680 5420FFF9 */ bnezl $at, .L7F001668 /* 0361B4 7F001684 8CEC0000 */ lw $t4, ($a3) /* 0361B8 7F001688 00001825 */ move $v1, $zero .L7F00168C: /* 0361BC 7F00168C 00003825 */ move $a3, $zero /* 0361C0 7F001690 240A0100 */ li $t2, 256 /* 0361C4 7F001694 2409FFFE */ li $t1, -2 /* 0361C8 7F001698 24060020 */ li $a2, 32 .L7F00169C: /* 0361CC 7F00169C 8C8F0000 */ lw $t7, ($a0) /* 0361D0 7F0016A0 00035940 */ sll $t3, $v1, 5 /* 0361D4 7F0016A4 00037140 */ sll $t6, $v1, 5 /* 0361D8 7F0016A8 01E7C021 */ addu $t8, $t7, $a3 /* 0361DC 7F0016AC A7090000 */ sh $t1, ($t8) /* 0361E0 7F0016B0 8C990000 */ lw $t9, ($a0) /* 0361E4 7F0016B4 24020008 */ li $v0, 8 /* 0361E8 7F0016B8 032B6021 */ addu $t4, $t9, $t3 /* 0361EC 7F0016BC A5850002 */ sh $a1, 2($t4) /* 0361F0 7F0016C0 8C8D0000 */ lw $t5, ($a0) /* 0361F4 7F0016C4 0003C940 */ sll $t9, $v1, 5 /* 0361F8 7F0016C8 01AE7821 */ addu $t7, $t5, $t6 /* 0361FC 7F0016CC A5E50004 */ sh $a1, 4($t7) /* 036200 7F0016D0 8C980000 */ lw $t8, ($a0) /* 036204 7F0016D4 03195821 */ addu $t3, $t8, $t9 /* 036208 7F0016D8 A5650006 */ sh $a1, 6($t3) .L7F0016DC: /* 03620C 7F0016DC 8C8C0000 */ lw $t4, ($a0) /* 036210 7F0016E0 00036940 */ sll $t5, $v1, 5 /* 036214 7F0016E4 0003C940 */ sll $t9, $v1, 5 /* 036218 7F0016E8 018D7021 */ addu $t6, $t4, $t5 /* 03621C 7F0016EC 01C27821 */ addu $t7, $t6, $v0 /* 036220 7F0016F0 A5E50000 */ sh $a1, ($t7) /* 036224 7F0016F4 8C980000 */ lw $t8, ($a0) /* 036228 7F0016F8 00037140 */ sll $t6, $v1, 5 /* 03622C 7F0016FC 03195821 */ addu $t3, $t8, $t9 /* 036230 7F001700 01626021 */ addu $t4, $t3, $v0 /* 036234 7F001704 A5850002 */ sh $a1, 2($t4) /* 036238 7F001708 8C8D0000 */ lw $t5, ($a0) /* 03623C 7F00170C 00035940 */ sll $t3, $v1, 5 /* 036240 7F001710 01AE7821 */ addu $t7, $t5, $t6 /* 036244 7F001714 01E2C021 */ addu $t8, $t7, $v0 /* 036248 7F001718 A7050004 */ sh $a1, 4($t8) /* 03624C 7F00171C 8C990000 */ lw $t9, ($a0) /* 036250 7F001720 032B6021 */ addu $t4, $t9, $t3 /* 036254 7F001724 01826821 */ addu $t5, $t4, $v0 /* 036258 7F001728 24420008 */ addiu $v0, $v0, 8 /* 03625C 7F00172C 1446FFEB */ bne $v0, $a2, .L7F0016DC /* 036260 7F001730 A5A50006 */ sh $a1, 6($t5) /* 036264 7F001734 24630001 */ addiu $v1, $v1, 1 /* 036268 7F001738 146AFFD8 */ bne $v1, $t2, .L7F00169C /* 03626C 7F00173C 24E70020 */ addiu $a3, $a3, 0x20 /* 036270 7F001740 8FBF0014 */ lw $ra, 0x14($sp) /* 036274 7F001744 27BD0018 */ addiu $sp, $sp, 0x18 /* 036278 7F001748 03E00008 */ jr $ra /* 03627C 7F00174C 00000000 */ nop ) #endif #ifdef NONMATCHING void reinit_between_menus(void) { } #else GLOBAL_ASM( .text glabel reinit_between_menus /* 036280 7F001750 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 036284 7F001754 AFBF0014 */ sw $ra, 0x14($sp) /* 036288 7F001758 0FC00656 */ jal write_monitor_ani_control_blocks /* 03628C 7F00175C 00000000 */ nop /* 036290 7F001760 0FC006C2 */ jal initialize_temp_mine_table /* 036294 7F001764 00000000 */ nop /* 036298 7F001768 3C018003 */ lui $at, %hi(alarm_timer) /* 03629C 7F00176C AC200AC0 */ sw $zero, %lo(alarm_timer)($at) /* 0362A0 7F001770 44800000 */ mtc1 $zero, $f0 /* 0362A4 7F001774 3C018003 */ lui $at, %hi(ptr_alarm_sfx) /* 0362A8 7F001778 AC200AC4 */ sw $zero, %lo(ptr_alarm_sfx)($at) /* 0362AC 7F00177C 3C018003 */ lui $at, %hi(toxic_gas_sound_timer) /* 0362B0 7F001780 E4200AC8 */ swc1 $f0, %lo(toxic_gas_sound_timer)($at) /* 0362B4 7F001784 3C018003 */ lui $at, %hi(activate_gas_sound_timer) /* 0362B8 7F001788 3C048003 */ lui $a0, %hi(D_80030AD0) /* 0362BC 7F00178C AC200ACC */ sw $zero, %lo(activate_gas_sound_timer)($at) /* 0362C0 7F001790 24840AD0 */ addiu $a0, %lo(D_80030AD0) # addiu $a0, $a0, 0xad0 /* 0362C4 7F001794 3C018003 */ lui $at, %hi(D_80030ADC) /* 0362C8 7F001798 E4800000 */ swc1 $f0, ($a0) /* 0362CC 7F00179C E4800004 */ swc1 $f0, 4($a0) /* 0362D0 7F0017A0 E4800008 */ swc1 $f0, 8($a0) /* 0362D4 7F0017A4 AC200ADC */ sw $zero, %lo(D_80030ADC)($at) /* 0362D8 7F0017A8 3C018003 */ lui $at, %hi(D_80030AE0) /* 0362DC 7F0017AC E4200AE0 */ swc1 $f0, %lo(D_80030AE0)($at) /* 0362E0 7F0017B0 3C018003 */ lui $at, %hi(ptr_gas_sound) /* 0362E4 7F0017B4 AC200AE4 */ sw $zero, %lo(ptr_gas_sound)($at) /* 0362E8 7F0017B8 24050001 */ li $a1, 1 /* 0362EC 7F0017BC 3C018003 */ lui $at, %hi(clock_drawn_flag) /* 0362F0 7F0017C0 AC250AE8 */ sw $a1, %lo(clock_drawn_flag)($at) /* 0362F4 7F0017C4 3C018003 */ lui $at, %hi(clock_enable) /* 0362F8 7F0017C8 AC200AEC */ sw $zero, %lo(clock_enable)($at) /* 0362FC 7F0017CC 3C018003 */ lui $at, %hi(clock_time) /* 036300 7F0017D0 E4200AF0 */ swc1 $f0, %lo(clock_time)($at) /* 036304 7F0017D4 3C018003 */ lui $at, %hi(D_80030AF4) /* 036308 7F0017D8 3C028007 */ lui $v0, %hi(ProjectileData_start_address) /* 03630C 7F0017DC 3C038007 */ lui $v1, %hi(dword_CODE_bss_80072E70) /* 036310 7F0017E0 AC200AF4 */ sw $zero, %lo(D_80030AF4)($at) /* 036314 7F0017E4 24632E70 */ addiu $v1, %lo(dword_CODE_bss_80072E70) # addiu $v1, $v1, 0x2e70 /* 036318 7F0017E8 24421E80 */ addiu $v0, %lo(ProjectileData_start_address) # addiu $v0, $v0, 0x1e80 .L7F0017EC: /* 03631C 7F0017EC 24420088 */ addiu $v0, $v0, 0x88 /* 036320 7F0017F0 0043082B */ sltu $at, $v0, $v1 /* 036324 7F0017F4 1420FFFD */ bnez $at, .L7F0017EC /* 036328 7F0017F8 AC40FF88 */ sw $zero, -0x78($v0) /* 03632C 7F0017FC 3C018003 */ lui $at, %hi(D_80030AF8) /* 036330 7F001800 3C028007 */ lui $v0, %hi(dword_CODE_bss_80072E70) /* 036334 7F001804 3C038007 */ lui $v1, %hi(dword_CODE_bss_80073370) /* 036338 7F001808 AC200AF8 */ sw $zero, %lo(D_80030AF8)($at) /* 03633C 7F00180C 24633370 */ addiu $v1, %lo(dword_CODE_bss_80073370) # addiu $v1, $v1, 0x3370 /* 036340 7F001810 24422E70 */ addiu $v0, %lo(dword_CODE_bss_80072E70) # addiu $v0, $v0, 0x2e70 .L7F001814: /* 036344 7F001814 24420080 */ addiu $v0, $v0, 0x80 /* 036348 7F001818 0043082B */ sltu $at, $v0, $v1 /* 03634C 7F00181C 1420FFFD */ bnez $at, .L7F001814 /* 036350 7F001820 AC40FF90 */ sw $zero, -0x70($v0) /* 036354 7F001824 3C018003 */ lui $at, %hi(D_80030AFC) /* 036358 7F001828 3C028007 */ lui $v0, %hi(dword_CODE_bss_80073370) /* 03635C 7F00182C 3C038007 */ lui $v1, %hi(dword_CODE_bss_80073DC0) /* 036360 7F001830 AC200AFC */ sw $zero, %lo(D_80030AFC)($at) /* 036364 7F001834 24633DC0 */ addiu $v1, %lo(dword_CODE_bss_80073DC0) # addiu $v1, $v1, 0x3dc0 /* 036368 7F001838 24423370 */ addiu $v0, %lo(dword_CODE_bss_80073370) # addiu $v0, $v0, 0x3370 .L7F00183C: /* 03636C 7F00183C 24420084 */ addiu $v0, $v0, 0x84 /* 036370 7F001840 0043082B */ sltu $at, $v0, $v1 /* 036374 7F001844 1420FFFD */ bnez $at, .L7F00183C /* 036378 7F001848 AC40FF8C */ sw $zero, -0x74($v0) /* 03637C 7F00184C 3C028007 */ lui $v0, %hi(dword_CODE_bss_80073DC0) /* 036380 7F001850 3C048007 */ lui $a0, %hi(dword_CODE_bss_80075030) /* 036384 7F001854 24845030 */ addiu $a0, %lo(dword_CODE_bss_80075030) # addiu $a0, $a0, 0x5030 /* 036388 7F001858 24423DC0 */ addiu $v0, %lo(dword_CODE_bss_80073DC0) # addiu $v0, $v0, 0x3dc0 /* 03638C 7F00185C 3C038000 */ lui $v1, 0x8000 .L7F001860: /* 036390 7F001860 244200EC */ addiu $v0, $v0, 0xec /* 036394 7F001864 0044082B */ sltu $at, $v0, $a0 /* 036398 7F001868 AC43FF14 */ sw $v1, -0xec($v0) /* 03639C 7F00186C AC40FFAC */ sw $zero, -0x54($v0) /* 0363A0 7F001870 1420FFFB */ bnez $at, .L7F001860 /* 0363A4 7F001874 AC40FFB0 */ sw $zero, -0x50($v0) /* 0363A8 7F001878 3C028007 */ lui $v0, %hi(dword_CODE_bss_80075030) /* 0363AC 7F00187C 3C038007 */ lui $v1, %hi(objinst) /* 0363B0 7F001880 24635B70 */ addiu $v1, %lo(objinst) # addiu $v1, $v1, 0x5b70 /* 0363B4 7F001884 24425030 */ addiu $v0, %lo(dword_CODE_bss_80075030) # addiu $v0, $v0, 0x5030 .L7F001888: /* 0363B8 7F001888 24420120 */ addiu $v0, $v0, 0x120 /* 0363BC 7F00188C AC45FF28 */ sw $a1, -0xd8($v0) /* 0363C0 7F001890 AC45FF70 */ sw $a1, -0x90($v0) /* 0363C4 7F001894 AC45FFB8 */ sw $a1, -0x48($v0) /* 0363C8 7F001898 1443FFFB */ bne $v0, $v1, .L7F001888 /* 0363CC 7F00189C AC45FEE0 */ sw $a1, -0x120($v0) /* 0363D0 7F0018A0 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 0363D4 7F0018A4 44810000 */ mtc1 $at, $f0 /* 0363D8 7F0018A8 3C018003 */ lui $at, %hi(D_80030B00) /* 0363DC 7F0018AC AC200B00 */ sw $zero, %lo(D_80030B00)($at) /* 0363E0 7F0018B0 3C018003 */ lui $at, %hi(D_80030B04) /* 0363E4 7F0018B4 AC200B04 */ sw $zero, %lo(D_80030B04)($at) /* 0363E8 7F0018B8 3C018003 */ lui $at, %hi(D_80030B08) /* 0363EC 7F0018BC AC200B08 */ sw $zero, %lo(D_80030B08)($at) /* 0363F0 7F0018C0 3C018003 */ lui $at, %hi(D_80030B0C) /* 0363F4 7F0018C4 AC200B0C */ sw $zero, %lo(D_80030B0C)($at) /* 0363F8 7F0018C8 3C018003 */ lui $at, %hi(bodypartshot) /* 0363FC 7F0018CC 240EFFFF */ li $t6, -1 /* 036400 7F0018D0 AC2E0B10 */ sw $t6, %lo(bodypartshot)($at) /* 036404 7F0018D4 3C018003 */ lui $at, %hi(D_80030B14) /* 036408 7F0018D8 E4200B14 */ swc1 $f0, %lo(D_80030B14)($at) /* 03640C 7F0018DC 3C018003 */ lui $at, %hi(D_80030B18) /* 036410 7F0018E0 E4200B18 */ swc1 $f0, %lo(D_80030B18)($at) /* 036414 7F0018E4 3C018003 */ lui $at, %hi(D_80030B1C) /* 036418 7F0018E8 E4200B1C */ swc1 $f0, %lo(D_80030B1C)($at) /* 03641C 7F0018EC 3C018003 */ lui $at, %hi(D_80030B20) /* 036420 7F0018F0 E4200B20 */ swc1 $f0, %lo(D_80030B20)($at) /* 036424 7F0018F4 8FBF0014 */ lw $ra, 0x14($sp) /* 036428 7F0018F8 3C018003 */ lui $at, %hi(D_80030B24) /* 03642C 7F0018FC E4200B24 */ swc1 $f0, %lo(D_80030B24)($at) /* 036430 7F001900 3C018003 */ lui $at, %hi(solo_ammo_multiplier) /* 036434 7F001904 27BD0018 */ addiu $sp, $sp, 0x18 /* 036438 7F001908 03E00008 */ jr $ra /* 03643C 7F00190C E4200B28 */ swc1 $f0, %lo(solo_ammo_multiplier)($at) ) #endif #ifdef NONMATCHING void sub_GAME_7F001910(struct object_standard *object) { object->flags2 = (u32)D_80030B00; D_80030B00 = object; } #else GLOBAL_ASM( .text glabel sub_GAME_7F001910 /* 036440 7F001910 3C028003 */ lui $v0, %hi(D_80030B00) /* 036444 7F001914 24420B00 */ addiu $v0, %lo(D_80030B00) # addiu $v0, $v0, 0xb00 /* 036448 7F001918 8C4E0000 */ lw $t6, ($v0) /* 03644C 7F00191C AC8E000C */ sw $t6, 0xc($a0) /* 036450 7F001920 03E00008 */ jr $ra /* 036454 7F001924 AC440000 */ sw $a0, ($v0) ) #endif #ifdef NONMATCHING void sub_GAME_7F001928(void) { } #else GLOBAL_ASM( .text glabel sub_GAME_7F001928 /* 036458 7F001928 3C028003 */ lui $v0, %hi(D_80030B04) /* 03645C 7F00192C 24420B04 */ addiu $v0, %lo(D_80030B04) # addiu $v0, $v0, 0xb04 /* 036460 7F001930 8C4E0000 */ lw $t6, ($v0) /* 036464 7F001934 AC8E000C */ sw $t6, 0xc($a0) /* 036468 7F001938 03E00008 */ jr $ra /* 03646C 7F00193C AC440000 */ sw $a0, ($v0) ) #endif #ifdef NONMATCHING void sub_GAME_7F001940(void) { } #else GLOBAL_ASM( .text glabel sub_GAME_7F001940 /* 036470 7F001940 3C028003 */ lui $v0, %hi(D_80030B08) /* 036474 7F001944 24420B08 */ addiu $v0, %lo(D_80030B08) # addiu $v0, $v0, 0xb08 /* 036478 7F001948 8C4E0000 */ lw $t6, ($v0) /* 03647C 7F00194C AC8E0010 */ sw $t6, 0x10($a0) /* 036480 7F001950 03E00008 */ jr $ra /* 036484 7F001954 AC440000 */ sw $a0, ($v0) ) #endif #ifdef NONMATCHING void write_monitor_ani_control_blocks(void) { } #else GLOBAL_ASM( .text glabel write_monitor_ani_control_blocks /* 036488 7F001958 27BDFEA0 */ addiu $sp, $sp, -0x160 /* 03648C 7F00195C 3C0E8003 */ lui $t6, %hi(ptr_monitorimageobjectanimationcontroller) /* 036490 7F001960 27A200EC */ addiu $v0, $sp, 0xec /* 036494 7F001964 25CEA260 */ addiu $t6, $t6, %lo(ptr_monitorimageobjectanimationcontroller) /* 036498 7F001968 27A30078 */ addiu $v1, $sp, 0x78 /* 03649C 7F00196C 27A40004 */ addiu $a0, $sp, 4 /* 0364A0 7F001970 25D9006C */ addiu $t9, $t6, 0x6c /* 0364A4 7F001974 00404025 */ move $t0, $v0 .L7F001978: /* 0364A8 7F001978 8DC10000 */ lw $at, ($t6) /* 0364AC 7F00197C 25CE000C */ addiu $t6, $t6, 0xc /* 0364B0 7F001980 2508000C */ addiu $t0, $t0, 0xc /* 0364B4 7F001984 AD01FFF4 */ sw $at, -0xc($t0) /* 0364B8 7F001988 8DC1FFF8 */ lw $at, -8($t6) /* 0364BC 7F00198C AD01FFF8 */ sw $at, -8($t0) /* 0364C0 7F001990 8DC1FFFC */ lw $at, -4($t6) /* 0364C4 7F001994 15D9FFF8 */ bne $t6, $t9, .L7F001978 /* 0364C8 7F001998 AD01FFFC */ sw $at, -4($t0) /* 0364CC 7F00199C 8DC10000 */ lw $at, ($t6) /* 0364D0 7F0019A0 3C098007 */ lui $t1, %hi(dword_CODE_bss_80075B98) /* 0364D4 7F0019A4 25295B98 */ addiu $t1, %lo(dword_CODE_bss_80075B98) # addiu $t1, $t1, 0x5b98 /* 0364D8 7F0019A8 AD010000 */ sw $at, ($t0) /* 0364DC 7F0019AC 8DD90004 */ lw $t9, 4($t6) /* 0364E0 7F0019B0 00406825 */ move $t5, $v0 /* 0364E4 7F0019B4 244C006C */ addiu $t4, $v0, 0x6c /* 0364E8 7F0019B8 AD190004 */ sw $t9, 4($t0) .L7F0019BC: /* 0364EC 7F0019BC 8DA10000 */ lw $at, ($t5) /* 0364F0 7F0019C0 25AD000C */ addiu $t5, $t5, 0xc /* 0364F4 7F0019C4 2529000C */ addiu $t1, $t1, 0xc /* 0364F8 7F0019C8 AD21FFF4 */ sw $at, -0xc($t1) /* 0364FC 7F0019CC 8DA1FFF8 */ lw $at, -8($t5) /* 036500 7F0019D0 AD21FFF8 */ sw $at, -8($t1) /* 036504 7F0019D4 8DA1FFFC */ lw $at, -4($t5) /* 036508 7F0019D8 15ACFFF8 */ bne $t5, $t4, .L7F0019BC /* 03650C 7F0019DC AD21FFFC */ sw $at, -4($t1) /* 036510 7F0019E0 8DA10000 */ lw $at, ($t5) /* 036514 7F0019E4 3C188003 */ lui $t8, %hi(unknown_object_animation_controller) /* 036518 7F0019E8 2718A2D4 */ addiu $t8, %lo(unknown_object_animation_controller) # addiu $t8, $t8, -0x5d2c /* 03651C 7F0019EC AD210000 */ sw $at, ($t1) /* 036520 7F0019F0 8DAC0004 */ lw $t4, 4($t5) /* 036524 7F0019F4 270E006C */ addiu $t6, $t8, 0x6c /* 036528 7F0019F8 00604025 */ move $t0, $v1 /* 03652C 7F0019FC AD2C0004 */ sw $t4, 4($t1) .L7F001A00: /* 036530 7F001A00 8F010000 */ lw $at, ($t8) /* 036534 7F001A04 2718000C */ addiu $t8, $t8, 0xc /* 036538 7F001A08 2508000C */ addiu $t0, $t0, 0xc /* 03653C 7F001A0C AD01FFF4 */ sw $at, -0xc($t0) /* 036540 7F001A10 8F01FFF8 */ lw $at, -8($t8) /* 036544 7F001A14 AD01FFF8 */ sw $at, -8($t0) /* 036548 7F001A18 8F01FFFC */ lw $at, -4($t8) /* 03654C 7F001A1C 170EFFF8 */ bne $t8, $t6, .L7F001A00 /* 036550 7F001A20 AD01FFFC */ sw $at, -4($t0) /* 036554 7F001A24 8F010000 */ lw $at, ($t8) /* 036558 7F001A28 3C0B8007 */ lui $t3, %hi(dword_CODE_bss_80075C10) /* 03655C 7F001A2C 256B5C10 */ addiu $t3, %lo(dword_CODE_bss_80075C10) # addiu $t3, $t3, 0x5c10 /* 036560 7F001A30 AD010000 */ sw $at, ($t0) /* 036564 7F001A34 8F0E0004 */ lw $t6, 4($t8) /* 036568 7F001A38 00604825 */ move $t1, $v1 /* 03656C 7F001A3C 246D006C */ addiu $t5, $v1, 0x6c /* 036570 7F001A40 AD0E0004 */ sw $t6, 4($t0) .L7F001A44: /* 036574 7F001A44 8D210000 */ lw $at, ($t1) /* 036578 7F001A48 2529000C */ addiu $t1, $t1, 0xc /* 03657C 7F001A4C 256B000C */ addiu $t3, $t3, 0xc /* 036580 7F001A50 AD61FFF4 */ sw $at, -0xc($t3) /* 036584 7F001A54 8D21FFF8 */ lw $at, -8($t1) /* 036588 7F001A58 AD61FFF8 */ sw $at, -8($t3) /* 03658C 7F001A5C 8D21FFFC */ lw $at, -4($t1) /* 036590 7F001A60 152DFFF8 */ bne $t1, $t5, .L7F001A44 /* 036594 7F001A64 AD61FFFC */ sw $at, -4($t3) /* 036598 7F001A68 8D210000 */ lw $at, ($t1) /* 03659C 7F001A6C 3C198003 */ lui $t9, %hi(taser_object_animation_controller) /* 0365A0 7F001A70 2739A348 */ addiu $t9, %lo(taser_object_animation_controller) # addiu $t9, $t9, -0x5cb8 /* 0365A4 7F001A74 AD610000 */ sw $at, ($t3) /* 0365A8 7F001A78 8D2D0004 */ lw $t5, 4($t1) /* 0365AC 7F001A7C 2738006C */ addiu $t8, $t9, 0x6c /* 0365B0 7F001A80 00804025 */ move $t0, $a0 /* 0365B4 7F001A84 AD6D0004 */ sw $t5, 4($t3) .L7F001A88: /* 0365B8 7F001A88 8F210000 */ lw $at, ($t9) /* 0365BC 7F001A8C 2739000C */ addiu $t9, $t9, 0xc /* 0365C0 7F001A90 2508000C */ addiu $t0, $t0, 0xc /* 0365C4 7F001A94 AD01FFF4 */ sw $at, -0xc($t0) /* 0365C8 7F001A98 8F21FFF8 */ lw $at, -8($t9) /* 0365CC 7F001A9C AD01FFF8 */ sw $at, -8($t0) /* 0365D0 7F001AA0 8F21FFFC */ lw $at, -4($t9) /* 0365D4 7F001AA4 1738FFF8 */ bne $t9, $t8, .L7F001A88 /* 0365D8 7F001AA8 AD01FFFC */ sw $at, -4($t0) /* 0365DC 7F001AAC 8F210000 */ lw $at, ($t9) /* 0365E0 7F001AB0 3C0C8007 */ lui $t4, %hi(dword_CODE_bss_80075C88) /* 0365E4 7F001AB4 258C5C88 */ addiu $t4, %lo(dword_CODE_bss_80075C88) # addiu $t4, $t4, 0x5c88 /* 0365E8 7F001AB8 AD010000 */ sw $at, ($t0) /* 0365EC 7F001ABC 8F380004 */ lw $t8, 4($t9) /* 0365F0 7F001AC0 00805825 */ move $t3, $a0 /* 0365F4 7F001AC4 2489006C */ addiu $t1, $a0, 0x6c /* 0365F8 7F001AC8 AD180004 */ sw $t8, 4($t0) .L7F001ACC: /* 0365FC 7F001ACC 8D610000 */ lw $at, ($t3) /* 036600 7F001AD0 256B000C */ addiu $t3, $t3, 0xc /* 036604 7F001AD4 258C000C */ addiu $t4, $t4, 0xc /* 036608 7F001AD8 AD81FFF4 */ sw $at, -0xc($t4) /* 03660C 7F001ADC 8D61FFF8 */ lw $at, -8($t3) /* 036610 7F001AE0 AD81FFF8 */ sw $at, -8($t4) /* 036614 7F001AE4 8D61FFFC */ lw $at, -4($t3) /* 036618 7F001AE8 1569FFF8 */ bne $t3, $t1, .L7F001ACC /* 03661C 7F001AEC AD81FFFC */ sw $at, -4($t4) /* 036620 7F001AF0 8D610000 */ lw $at, ($t3) /* 036624 7F001AF4 AD810000 */ sw $at, ($t4) /* 036628 7F001AF8 8D690004 */ lw $t1, 4($t3) /* 03662C 7F001AFC 27BD0160 */ addiu $sp, $sp, 0x160 /* 036630 7F001B00 03E00008 */ jr $ra /* 036634 7F001B04 AD890004 */ sw $t1, 4($t4) ) #endif void initialize_temp_mine_table(void) { s32 i; for (i=0; i<30; i++) { temp_mine_table[i] = 0; } }